isset 在 JavaScript 中的等价函数
-
isset
在 JavaScript 中的等价函数 -
在 JavaScript 中使用
in
运算符检查是否设置了值 -
在 JavaScript 中使用
Object.hasOwnProperty()
检查值是否已设置
PHP 提供了一个函数 isset
来确定是否设置了变量;这意味着如果一个变量被声明并分配了一个非空值。当一个变量被赋值为 null 时,isset()
将返回 false。在 JavaScript 中,我们需要确定是否设置了变量。
在这篇文章中,我们将学习如何检查变量是否已设置。
isset
在 JavaScript 中的等价函数
JavaScript 提供了 typeof
运算符。它返回一个字符串,指示未评估的操作数类型。当操作数类型未知时,此运算符很有用,并且根据类型,你可以执行下一个任务。
如果操作数类型是数字,则将数字相加,然后将字符串连接起来。
语法:
typeof operand typeof (operand)
它需要一个表示必须返回其类型的基元或对象的表达式。根据传递给它的表达式,有八个结果。它可以是 undefined
、string
、symbol
、function
、object
、boolean
、number
或 object
。
有关更多信息,请阅读 typeof
的文档。
const inputObject = {
id: 42,
name: 'John Doe'
};
let phone
console.log(typeof inputObject.id !== 'undefined');
if ((typeof phone === 'undefined')) {
phone = '7878787878';
}
console.log(phone);
在示例中,我们定义了对象 id
和 name
的两个属性。当你检查 typeof inputObject.id
时,它将检查 id 属性是否存在于 inputObject
中。要检查相反的条件,请添加!
在条件之前,它将否定检查。
对于单个变量,你可以检查它是否已设置。如果 phone
不存在,你可以将其添加到指定的值。
输出将如下所示。
true
"7878787878"
在 JavaScript 中使用 in
运算符检查是否设置了值
in
运算符是一种内置方法,用于验证指定属性是否属于对象或其原型链。它重复对象并根据结果返回布尔值。
语法:
prop in object
该函数将 prop
作为字符串格式的输入,它是一个必需的参数。此方法检查指定的属性或数组索引是否存在于 Object
或原型链中。由于数组是从对象派生的,因此也可以为数组调用此方法。
有关更多信息,请阅读 in
运算符 方法的文档。
const inputObject = {
id: 42,
name: 'John Doe'
};
console.log('name' in inputObject);
if (!('country' in inputObject)) {
inputObject.country = 'India';
}
console.log(inputObject);
在示例中,我们定义了对象 id
和 name
的两个属性。如果你在 inputObject
中传递 name
,它会检查 inputObject
中是否存在 name 属性。添加 !
在条件前面验证相反的条件,拒绝验证。
如果对象中不存在新的 country
属性,你可以添加它。输出将如下所示。
true
{
id: 42,
name: "John Doe",
country: "India"
}
在 JavaScript 中使用 Object.hasOwnProperty()
检查值是否已设置
hasOwnProperty
也是一个内置方法,用于检查指定的属性是否存在于 Object
中。它重复对象并根据结果返回布尔值。
语法:
Object.prototype.hasOwnProperty(prop);
该函数将 prop
作为 string
格式的输入,并且是必需的参数。无论 Object 中的值如何,此方法都会检查指定的属性是否存在。
即使属性的值为 null
或 undefined
,它也会返回 true
。这个方法也可以为一个 Array
调用,因为该数组是从一个对象派生的。
有关更多信息,请阅读 hasOwnProperty()
方法的文档。
const inputObject = {
name: 'John Doe'
};
console.log(inputObject.hasOwnProperty('name'));
if (!inputObject.hasOwnProperty('email')) {
inputObject.email = 'Johndoe@gmail.com';
}
console.log(inputObject);
在示例中,我们定义了对象 id
和 name
的两个属性。如果你通过 inputObject.hasOwnProperty ('name')
,它将检查 inputObject
中的 name 属性是否存在。添加 !
在条件前面验证相反的条件,拒绝验证。
如果对象中不存在新属性,我们可以添加它。输出如下所示。
true
{
email: "Johndoe@gmail.com",
name: "John Doe"
}
hasOwnProperty
和 in
运算符之间的区别在于,如果属性在对象内继承或未声明,则 hasOwnProperty
返回 false。相反,in 运算符
不验证指定属性中的对象 - 原型字符串。
基类 Object
具有 hasOwnProperty
作为其函数,因此它返回 false
,而 in operator
返回 true
。
Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.
LinkedIn