JavaScript 如何检查对象是否具有特定属性

JavaScript 如何检查对象是否具有特定属性

在JavaScript中,对象可以具有存储数据或函数的属性。 有时候有必要检查对象是否具有特定属性。例如,当您想要避免在没有将该函数定义为属性的对象上调用函数时,这可能会很有用。在本文中,我们将讨论不同的方法来检查对象是否具有特定属性。

方法:

使用“in”运算符: “in”运算符检查对象或其原型链中是否存在属性。

语法:

if ('propertyName' in objectName) {
       // Code to execute if property exists
}

在这里,“propertyName”是你想要检查的属性的名称,“objectName”是你想要检查的对象的名称。

例如:

Javascript

const person = { 
    name: 'John', 
    age: 30, 
    address: { 
        city: 'New York', 
        state: 'NY'
    } 
}; 
  
if ('age' in person) { 
    console.log('Person object has the age property'); 
} 
  
if ('email' in person) { 
    console.log('Person object has the email property'); 
} else { 
    console.log('Person object does not have the email property'); 
}

输出

Person object has the age property
Person object does not have the email property

使用hasOwnProperty()方法: hasOwnProperty()方法用于检查对象是否拥有自己的属性,并且不是从原型链继承而来。

语法:

if (objectName.hasOwnProperty('propertyName')) {
       // Code to execute if property exists
}

在这里,”propertyName”是您想要检查的属性的名称,”objectName”是您想要检查的对象的名称。

示例:

Javascript

const person = { 
    name: 'John', 
    age: 30, 
    address: { 
        city: 'New York', 
        state: 'NY'
    } 
}; 
  
if (person.hasOwnProperty('age')) { 
    console.log('Person object has the age property'); 
} 
  
if (person.hasOwnProperty('email')) { 
    console.log('Person object has the email property'); 
} else { 
    console.log('Person object does not have the email property'); 
}

输出

Person object has the age property
Person object does not have the email property

使用“typeof”运算符: 您还可以使用“typeof”运算符来检查对象是否具有特定属性。

语法:

if (typeof object.property !== 'undefined') {
      // Property exists in object
} else {
      // Property does not exist in object
}

在这里,“property”是您要检查的属性的名称,“object”是您要检查的对象。 “typeof”运算符返回指定属性的值的类型,因此如果对象中不存在该属性,它将返回“undefined”。

例子:

Javascript

const myVar = "Hello World"; 
  
console.log(typeof myVar); // Output: string

在这个例子中,我们使用“typeof”运算符来确定“myVar”变量的类型,它是一个字符串。您可以使用“typeof”运算符来检查不同类型的值,例如“number”,“boolean”,“undefined”,“object”,“function”和“symbol”。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程