一、js空對象的定義與判斷
JavaScript 是一種弱類型語言,因此可以使用不同類型的值來定義空對象。空對象通常指沒有屬性或者屬性值為 undefined 的對象。
判斷是否為空對象可以通過 Object.keys 和 JSON.stringify 兩個方法:
let obj = {}; console.log(Object.keys(obj).length === 0); // true console.log(JSON.stringify(obj) === '{}'); // true
以上兩個方法都可以根據對象的鍵來判斷對象是否為空。
二、js空對象等於false與true
空對象在邏輯上等於 false,因此可以將其用作條件語句的判斷條件:
let obj = {}; if (obj) { console.log('空對象'); } else { console.log('非空對象'); } // 輸出結果為:非空對象
當將空對象使用「!」運算符取反時,得到的結果為 true。因為取反運算符會將空對象轉化為布爾值,而空對象轉化為布爾值是 false,再次取反得到 true。
let obj = {}; console.log(!obj); // true
三、js空對象怎麼判斷
判斷對象是否為空的方法已經在第一部分介紹過了,可以使用 Object.keys 和 JSON.stringify 兩個方法。
如果想要判斷一個對象是否為 null 或者 undefined,可以使用「===」運算符:
let obj = null; console.log(obj === null); // true console.log(obj === undefined); // false
四、js空對象添加屬性
空對象可以動態添加屬性和屬性值,只需要給對象指定一個新的屬性名,並設置對應的屬性值即可:
let obj = {}; obj.name = 'Tom'; console.log(obj.name); // Tom
這個例子表明空對象可以動態擴展屬性。
五、js空對象是false嗎
空對象在邏輯上等於 false,但是在類型上是一個對象,而非布爾值。因此可以通過 typeof 運算符來判斷空對象的類型:
let obj = {}; console.log(typeof obj); // object
以上代碼表明空對象類型是 object,並非 boolean。
六、js空對象是真還是假
空對象在邏輯上等於 false,但在類型上是一個對象。因此可以使用「==」運算符將空對象轉化為布爾值並進行比較:
let obj = {}; console.log(obj == false); // true console.log(obj == true); // false
以上代碼表明空對象在邏輯上等於 false,但在類型上是一個對象,並非布爾值。
七、js空對象轉化為布爾值與字符串
空對象可以通過隱式轉換或顯示轉換為布爾值:
let obj = {}; console.log(Boolean(obj)); // false console.log(!!obj); // false console.log(String(obj)); // [object Object]
以上代碼表明空對象可以通過 Boolean 將其轉化為布爾值 false,或通過 String 將其轉化為字符串 「[object Object]」。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/297242.html