Javascript 如何检查对象是否存在并具有X属性?

Javascript 如何检查对象是否存在并具有X属性?,javascript,object,Javascript,Object,我试图检查一个对象是否存在并具有X属性 首先,我试着这样做: let object = { foo: 1 } console.log('foo' in object) console.log(object.hasOwnProperty('foo')) console.log(typeof(object.foo) !== undefined) 但我意识到,如果对象未定义,则所有对象都会返回错误 我知道我可以使用: let object = undefined if (object)

我试图检查一个对象是否存在并具有X属性

首先,我试着这样做:

let object = {
    foo: 1
}

console.log('foo' in object)
console.log(object.hasOwnProperty('foo'))
console.log(typeof(object.foo) !== undefined)
但我意识到,如果对象未定义,则所有对象都会返回错误

我知道我可以使用:

let object = undefined

if (object) {
    console.log('foo' in object)
    console.log(object.hasOwnProperty('foo'))
    console.log(typeof (object.foo) !== undefined)
}
检查对象是否存在并具有X属性,但我想知道是否可以在一行中恢复所有这些。比如:

typeof(object) !== undefined && ('foo' in object)

您可以像在多行示例中一样使用它,只需测试
对象

函数测试对象(对象)
{
if(对象&('foo'在对象中)){
console.log(true);
}否则{
console.log(false);
}
}
testObject(未定义);

testObject({foo:'bar'})您可以像在多行示例中一样使用它,只需测试
对象

函数测试对象(对象)
{
if(对象&('foo'在对象中)){
console.log(true);
}否则{
console.log(false);
}
}
testObject(未定义);

testObject({foo:'bar'})只需先使用检查对象是否存在:

object && 'foo' in object

只需首先使用检查对象是否存在:

object && 'foo' in object
这些例子效果很好:
let对象={
傅:1
};
if(object&&object.hasOwnProperty('foo')){
log(对象['foo']);
}否则{
log('对象没有foo键');
}
设obj2={};
if(obj2&&obj2.hasOwnProperty('foo')){
log(obj2['foo']);
}否则{
log('obj2没有foo键');
}
让obj3;
if(obj3&&obj3.hasOwnProperty('foo')){
log(obj2['foo']);
}否则{
log('obj3没有foo键');
}
这些示例非常有效:
let对象={
傅:1
};
if(object&&object.hasOwnProperty('foo')){
log(对象['foo']);
}否则{
log('对象没有foo键');
}
设obj2={};
if(obj2&&obj2.hasOwnProperty('foo')){
log(obj2['foo']);
}否则{
log('obj2没有foo键');
}
让obj3;
if(obj3&&obj3.hasOwnProperty('foo')){
log(obj2['foo']);
}否则{
log('obj3没有foo键');

}
对象和键入对象
如果(window.object和object.foo).
对象和键入对象
如果(window.object和object.foo).