Javascript ES 6メソッドサムネイル表示
4102 ワード
Javascriptのメソッド宣言方式はES 5とES 6とは異なります.現在、ECMAScript仕様ではES 5メソッドは認められず、ES 6メソッドのみが認められている.
このレポートでは、2つの方法の違いを例で比較します.
ES 5でメソッドを宣言するには、関数宣言式をproperty値として指定します. ES 6では、メソッドを宣言する際に、関数キーワードを省略するサムネイル表現を使用することができる. 現在ECMAScriptはES 6メソッドの略語表現のみを認めている.
このレポートでは、2つの方法の違いを例で比較します.
メソッド簡略表示
1.ES 5メソッド表示
ES 5でメソッドを宣言するには、関数宣言式をproperty値として指定します.
// ES5
var obj = {
name: 'Lee',
// 프로퍼티 sayHi의 값으로 할당된 것은 일반 함수(constructor)로 정의된 함수이다.
// 현재 ECMAScript 사양에서 메서드로 인정되지 않는다.
sayHi: function() {
console.log('Hi! ' + this.name);
}
};
obj.sayHi(); // Hi! Lee
// ES5의 메서드 선언 방식은 현재 ECMAScript 사양에서는 일반 함수로 정의된다.
// 일반 함수는 constructor이므로 new로 인스턴스를 생성할 수 있다.
new obj.sayHi(); // sayHi {}
2.ES 6方法簡略表示
// ES6 메서드 축약표현만 메서드로 인정된다.
const obj = {
name: 'Lee',
// 메소드 축약 표현
sayHi() {
console.log('Hi! ' + this.name);
}
};
obj.sayHi(); // 일반함수 호출: Hi! Lee
// 메소드는 non-constructor이므로 생성자 함수로 호출할 수 없다.
new obj.sayHi(); // Uncaught TypeError: obj.sayHi is not a constructor
Reference
この問題について(Javascript ES 6メソッドサムネイル表示), 我々は、より多くの情報をここで見つけました https://velog.io/@dev-redo/Javascript-ES6-메서드-축약-표현テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol