[Java Script]オブジェクトメソッド
6464 ワード
📍 method
ハーモニー
ハーモニー
通常の関数とは異なり、矢印関数には独自のthisはありません.
矢印関数の内部でthisを使用すると、thisは外部から値を取得します.
オブジェクトの作成方法で矢印関数を使用する場合、この関数を使用するとエラーが発生する可能性があります.
したがって、オブジェクトの作成方法でこの方法を使用する場合は、矢印関数は使用しないほうがいいです.
環境あたり ブラウザ環境: Node js : ハーモニー
ハーモニー
const superman = {
name : 'clark',
age : 33,
fly : function(){ // method : Object 프로퍼티로 할당 된 함수
console.log('날아갑니다.')
}
fly(){ // function 키워드 생략하여 줄여서 작성 가능!
console.log('날아갑니다.')
}
sayHello(){
console.log(`Hello, I'm ${this.name}`);
}
}
📍 thisハーモニー
sayHello = function(){
console.log(`Hello, I'm ${this.name}`);
}
let boy = {
name : 'Mike',
sayHello,
}
let girl = {
name : 'Jane',
sayHello,
}
// sayHello() 앞의 boy, girl이 sayHello() 함수의 this가 됩니다!
boy.sayHello(); // "Hello, I'm Mike"
girl.sayHello(); // "Hello, I'm Jane"
📍 矢印関数のthis通常の関数とは異なり、矢印関数には独自のthisはありません.
矢印関数の内部でthisを使用すると、thisは外部から値を取得します.
オブジェクトの作成方法で矢印関数を使用する場合、この関数を使用するとエラーが発生する可能性があります.
したがって、オブジェクトの作成方法でこの方法を使用する場合は、矢印関数は使用しないほうがいいです.
環境あたり
전역객체
window
global
let boy = {
name : 'Mike',
sayHello : ()=>{
console.log(this); // 전역 객체 window or global
}
}
boy.sayHello();
// this != boy
Reference
この問題について([Java Script]オブジェクトメソッド), 我々は、より多くの情報をここで見つけました https://velog.io/@isayaksh/Java-Script-객체-메소드テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol