this キーワードを理解する
CoddyのJavaScriptジャーニー「オブジェクト指向プログラミング」セクションの一部 — レッスン 3/56。
JavaScriptにおけるthisキーワードは、現在コードを実行しているオブジェクトを指します。これにより、現在のオブジェクトのプロパティやメソッドにアクセスできるようになります。
基本的なオブジェクトから始めましょう:
let person = {
name: "John",
age: 30,
greet: function() {
console.log("Hello, my name is " + this.name);
}
};この例では、greetメソッドを呼び出すと:
person.greet();出力は次のようになります:
Hello, my name is Johnここでは、greet メソッド内の this.name は、person オブジェクトの name プロパティを指します。
チャレンジ
thisキーワードを使用して、プレイヤーの名前と体力を文字列で返すgetStatusという名前のメソッドをplayerオブジェクトに追加してください。
期待される出力形式:"Knight has 70 health"
チートシート
this キーワードは、現在コードを実行しているオブジェクトを指し、そのプロパティやメソッドにアクセスできるようにします。
オブジェクトのメソッド内で this を使用する例:
let person = {
name: "John",
age: 30,
greet: function() {
console.log("Hello, my name is " + this.name);
}
};
person.greet(); // Output: Hello, my name is Johnメソッド内では、this.name は person オブジェクトの name プロパティを指します。
自分で試してみよう
const player = {
name: "Knight",
health: 100,
takeDamage: function(damage) {
this.health -= damage;
},
// TODO: プレイヤーの名前と体力を文字列で返す getStatus メソッドをここに追加してください
};
// テスト
player.takeDamage(30);
console.log(player.getStatus()); // 期待される出力: "Knight has 70 health"このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。