[js: bind(this)] bind(this) でコールバック内 this 制御するよ。 #js
// this のコンテキストが変わるのを self で抑える例
Person.prototype.sayName = function() {
var self = this;
Speaker.say(function() {
return self.nickname;
});
};
// bind(this) を引数に this を引き継ぐ例
Person.prototype.sayName = function() {
Speaker.say(function() {
return this.nickname;
}.bind(this));
};
// es6 アロー関数 はもともと this を引き継ぐよ
Person.prototype.sayName = () => {
Speaker.say(function() {
return this.nickname;
});
};