我想知道如果 JavaScript 中的对象中的值未定义有什么区别

变量 'bar' 都是未定义的。obj.bar但是和之间有什么区别obj2.bar吗?


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 


偶然的你
浏览 90回答 1
1回答

阿波罗的战车

在第一种情况下,bar没有声明。但在第二种情况下, thebar被声明并定义为undefined。相当棘手,找到它的方法是,如果你使用Object.keys(obj),你找不到bar。此外,使用obj.hasOwnProperty('bar')会给你错误。感谢deceze ♦指出了这一点。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); // undefinedconsole.log(Object.keys(obj));console.log(Object.keys(obj2));console.log(obj.hasOwnProperty('bar'));console.log(obj2.hasOwnProperty('bar'));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript