Javascript 如何检查对象是否存在并具有X属性?
我试图检查一个对象是否存在并具有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)
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).