1 回答

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超6個(gè)贊
在第一種情況下,bar沒有聲明。但在第二種情況下, thebar被聲明并定義為undefined。
相當(dāng)棘手,找到它的方法是,如果你使用Object.keys(obj),你找不到bar。
此外,使用obj.hasOwnProperty('bar')會(huì)給你錯(cuò)誤。感謝deceze ?指出了這一點(diǎn)。
const obj = { foo: "foo" };
// console.log(obj); // { foo: 'foo' }
// console.log(obj.bar); // undefined
const obj2 = { foo: "foo", bar: undefined };
// console.log(obj2); // { foo: 'foo', bar: undefined }
// console.log(obj2.bar); // undefined
console.log(Object.keys(obj));
console.log(Object.keys(obj2));
console.log(obj.hasOwnProperty('bar'));
console.log(obj2.hasOwnProperty('bar'));
添加回答
舉報(bào)