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