以下のコードのログが返すものの見かけの不一致を理解したいと思っています。私はそれらが同等であり、返さないと期待しますundefined
。しかし、一方はundefined
を返し、他方は返さない。コンストラクタのthis.propが未定義に戻る理由
var floors = [ { number : 4, desc : `The obj from the floors array` } ]
function Unit (number) {
this.number = number
this.floor = Number(String(this.number)[0]) // no issue with a this.property reference here
console.log(this.floor) // evals to 4 here so why not on the next line?
console.log(floors.find(function (floor) { return floor.number === this.floor })) // Why does this return undefined
console.log(floors.find(function (floor) { return floor.number === 4 })) // but this does not?
}
new Unit (425)