차이점: 1. es6 생성자의 클래스 변수는 승격되지 않습니다. 즉, 객체는 클래스 정의 후에만 생성될 수 있지만 es5에서 생성자를 선언하면 변수가 발생합니다. es6에서는 생성자를 직접 호출할 수 없지만 es5에서는 생성자를 직접 호출하여 생성자를 일반 함수로 사용할 수 있습니다.
이 튜토리얼의 운영 환경: Windows 10 시스템, ECMAScript 버전 6.0, Dell G3 컴퓨터.
생성자를 사용하여 재사용 가능한 객체를 생성하세요
생성자는 사용자가 생성하는 함수입니다. 일반 함수와는 질적으로 다른 특별한 방법입니다. 객체를 초기화하는데 주로 사용되는데, 이는 객체 멤버에 초기값을 할당하는 것입니다. 생성자의 주요 특징은 메소드 이름이며 첫 글자를 대문자로 사용하며 new
function foo(){ this.name = 'Katherine'; this.age = '26'; } var f = new foo(); console.log(f) //Object console.log(f.name) //Katherine console.log(f.age) //26 function foos(name,age,sex){ this.name = name; this.age = age; this.sex = sex; } var f1 = new foos('Kathrine', '26', 'female'); var f2 = new foos('Stefan', '27', 'male'); var f3 = new foos('Damon', '29', 'male'); console.log(f1) //foos {name: "Kathrine", age: "26", sex: "female"} console.log(f2) //foos {name: "Stefan", age: "27", sex: "male"} console.log(f3) //foos {name: "Damon", age: "29", sex: "male"}
class foo{ constructor(){ this.name = 'Karherine'; this.age = '26'; } vampire(va){ console.log('Her name is '+this.name+' and she was '+this.age+' years old') } } let f = new foo() f.vampire(); //Her name is Karherine and she was 26 years old //继承原型 class foos extends foo{ constructor(){ super(); this.name = 'Stefan'; this.age = '27'; } } let f1 = new foos(); f1.vampire(); //His name is Stefan and he was 27 years old
1, ES5에서는 new를 사용하여 객체를 생성하거나 생성자를 직접 호출하여 일반 함수로 사용할 수 있습니다. 예를 들어 function foo();
2. ES6에서는 객체를 생성하기 위해 new를 사용해야 하며, 이를 일반 함수로 사용하기 위해 생성자를 직접 호출할 수 없습니다.
ES5와 달리 클래스 변수는 승격되지 않습니다. 즉, 클래스가 정의된 후에만 객체를 생성할 수 있습니다.
클래스 호출은 반드시 new를 사용해야 하며, 일반 생성자를 일반 함수처럼 사용할 수 있습니다.
【관련 추천: javascript 비디오 튜토리얼, web front-end】
위 내용은 es6과 es5 생성자의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!