📅  最后修改于: 2023-12-03 15:32:13.356000             🧑  作者: Mango
在使用jQuery库时,经常需要操作对象,然而在操作对象时,经常需要判断对象中是否存在某个键。在TypeScript中如何判断呢?
使用typeof运算符来判断对象中是否存在某个键,当然前提是确定对象是一个普通对象而非数组、函数等类型。
const myObj = { foo: 'bar', baz: 123 };
if (typeof myObj['foo'] !== 'undefined') {
console.log(`myObj中存在键'foo',值为${myObj['foo']}`);
}
else {
console.log("myObj中不存在键'foo'");
}
此时,控制台将输出:
myObj中存在键'foo',值为bar
使用in运算符同样可以判断对象中是否存在某个键,并且不受对象类型的限制。
const myObj = { foo: 'bar', baz: 123 };
if ('foo' in myObj) {
console.log(`myObj中存在键'foo',值为${myObj['foo']}`);
}
else {
console.log("myObj中不存在键'foo'");
}
此时,控制台同样打印:
myObj中存在键'foo',值为bar
还可以使用对象的hasOwnProperty方法来判断对象中是否存在某个键,同时可以避免使用原型链中定义的同名属性的影响。
const myObj = { foo: 'bar', baz: 123 };
if (myObj.hasOwnProperty('foo')) {
console.log(`myObj中存在键'foo',值为${myObj['foo']}`);
}
else {
console.log("myObj中不存在键'foo'");
}
和之前的示例一样,控制台输出:
myObj中存在键'foo',值为bar
通过本文介绍,我们可以灵活地使用typeof运算符、in运算符和hasOwnProperty方法来判断对象中是否存在某个键,实现灵活、高效地操作对象。