当前位置: 首页 > article >正文

javascript:检查JavaScript对象属性是否存在

1 使用in操作符

in 操作符是检查对象中是否存在某个属性的简单直接的方法。它不仅会检查对象自身的属性,还会检查其原型链上的属性。

			const car = { make: 'Toyota', model: 'Corolla' };
			console.log('make' in car); // true
			console.log('year' in car); // false

在这个例子中,'make' in car 返回 true,因为 make 是 car 对象的属性。而 year 返回 false,因为 year 不存在于 car 对象中。

如果属性在原型链上,如下:

function Vehicle() {
  this.make = 'Toyota';
}

Vehicle.prototype.model = 'Corolla';

const myCar = new Vehicle();
console.log('model' in myCar); // true

虽然 model 并不是 myCar 对象本身的属性,而是定义在其原型上的属性,in 操作符仍然返回 true。这是因为 in 操作符会遍历整个原型链进行检查。

2 使用hasOwnProperty方法

			const person = { name: 'Alice', age: 30 };
			console.log(person.hasOwnProperty('name')); // true
			console.log(person.hasOwnProperty('gender')); // false

function Animal() {
  this.type = 'Dog';
}

Animal.prototype.legs = 4;

const myPet = new Animal();
console.log(myPet.hasOwnProperty('legs')); // false

3 使用三元操作符

			const book = { title: 'JavaScript Essentials', author: 'John Doe' };
			console.log(book.pages !== undefined ? true : false); // false
			console.log(book.title !== undefined ? true : false); // true


http://www.kler.cn/a/318092.html

相关文章:

  • 2024年11月12日Github流行趋势
  • 准确率调整研究中心
  • Qt 和 WPF(Windows Presentation Foundation)
  • INQUIRE:一个包含五百万张自然世界图像,涵盖10,000个不同物种的专为专家级文本到图像检索任务设计的新型基准数据集。
  • 论文阅读《BEVFormer v2》
  • Pycharm PyQt5 环境搭建创建第一个Hello程序
  • kubernets部署prometheus监控
  • MySQL:用户管理
  • VSCode使用Clangd
  • 《程序猿之设计模式实战 · 适配器模式》
  • 云计算和虚拟化技术 背诵
  • Django一分钟:DRF快速实现JWT认证与RBAC权限校验
  • 网络层协议——IP
  • 从入门到精通:QT 100个关键技术关键词
  • node.js 版本管理
  • Vue轮询请求接口
  • 语音合成(自然、非自然)
  • Maven中依赖配置
  • WRFDA保姆级安装教程
  • 聊一下cookie,session,token的区别
  • linux-下载、安装、更新和管理软件包
  • 【C++掌中宝】走进C++引用的世界:从基础到应用
  • leveldb前缀匹配查找Seek
  • SWC(Speedy Web Compiler)
  • java算法OJ(1)位运算
  • LabVIEW闪退