javascript如何判斷對象是否包含某屬性?


JavaScript如何判斷對象是否包含某屬性?下面本篇就來給大家介紹幾種使用JavaScript判斷對象是否包含有某屬性的常見方法,希望對大家有所幫助。

 

 

一、使用“!==”

“!==”方法在工作中很常見,可以看出該方法可以判斷繼承來的屬性。

let obj = { x: 1 }; obj.x !== undefined; // true 有x屬性 obj.y !== undefined; // false 無y屬性 obj.toString !== undefined; // true 從Object繼承toString屬性

 

二、 in 運算符

MDN 上有對in運算符的介紹:如果指定的屬性在指定的對象或其原型鏈中,則in 運算符返回true。

let obj = { x: 1 }; 'x' in obj; // true 'y' in obj; // false 'toString' in obj; // true

in運算符語法很簡單,效果跟undefined是相同的,與undefined不同的是,in可以區分存在但值為undefined的屬性。話不多說,看代碼:

let obj = { x: undefined }; obj.x !== undefined; // false 'x' in obj; // true

可以看出如果屬性的值為undefined的時候,使用!== 的方法就不奏效了,所以在工作中需要注意一下這一塊。

資源搜索網站大全 https://www.renrenfan.com.cn 廣州VI設計公司https://www.houdianzi.com

三、hasOwnProperty()

hasOwnProperty()用來判斷某個對象是否含有指定的屬性,返回布爾值,當檢測屬性為自有屬性(非繼承)的時候返回true。

test.hasOwnProperty('name') //true 自身屬性 test.hasOwnProperty('age') //false 不存在 test.hasOwnProperty('toString') //false 原型鏈上屬性

可以看到,只有自身存在該屬性時,才會返回true。適用於只判斷自身屬性的場景


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM