Object
-
Object.assign()
將所有可枚舉屬性的值從一個或多個源對象復制到目標對象踢关。它將返回目標對象祝拯。Object.assign(target, ...sources) target: 目標對象 sources: 源對象 Object.assign 不會在那些source對象值為 null 或 undefined 的時候拋出錯誤 繼承屬性和不可枚舉屬性不能拷貝 原始類型會被包裝成對象 異常會打斷后續(xù)拷貝任務
-
Object.create()
方法創(chuàng)建一個新對象鲤屡,使用現(xiàn)有的對象來提供新創(chuàng)建的對象的__proto__
返回值: 新對象Object.create(proto[, propertiesObject]) proto 新創(chuàng)建對象的原型對象。 propertiesObject 可選申眼。如果沒有指定為 undefined股囊,則是要添加到新創(chuàng)建對象的可枚舉屬性(即其自身定義的屬性涣狗,而不是其原型鏈上的枚舉屬性)對象的屬性描述符以及相應的屬性名稱谍婉。這些屬性對應Object.defineProperties()的第二個參數(shù)。 如果propertiesObject參數(shù)是 null 或非原始包裝對象屑柔,則拋出一個 TypeError 異常
-
Object.defineProperties()
直接在一個對象上定義新的屬性或修改現(xiàn)有屬性,并返回該對象Object.defineProperties(obj, props) obj 在其上定義或修改屬性的對象。 props 要定義其可枚舉屬性或修改的屬性描述符的對象珍剑。對象中存在的屬性描述符主要有兩種:數(shù)據(jù)描述符和訪問器描述符掸宛。描述符具有以下鍵: 1.configurable true 當且僅當該屬性描述符的類型可以被改變并且該屬性可以從對應對象中刪除。 默認為 false 2.enumerable true 當且僅當在枚舉相應對象上的屬性時該屬性顯現(xiàn)招拙。 默認為 false 3.value 與屬性關(guān)聯(lián)的值唧瘾〈胍耄可以是任何有效的JavaScript值(數(shù)字,對象饰序,函數(shù)等)领虹。 默認為 undefined. 4.writable true當且僅當與該屬性相關(guān)聯(lián)的值可以用assignment operator改變時。 默認為 false 5.get 作為該屬性的 getter 函數(shù)求豫,如果沒有 getter 則為undefined塌衰。函數(shù)返回值將被用作屬性的值。 默認為 undefined 6.set 作為屬性的 setter 函數(shù)蝠嘉,如果沒有 setter 則為undefined最疆。函數(shù)將僅接受參數(shù)賦值給該屬性的新值。 默認為 undefined
-
Object.defineProperty()
方法會直接在一個對象上定義一個新屬性蚤告,或者修改一個對象的現(xiàn)有屬性努酸, 并返回這個對象。Object.defineProperty(obj, prop, descriptor) obj 要在其上定義屬性的對象杜恰。 prop 要定義或修改的屬性的名稱获诈。 descriptor 將被定義或修改的屬性描述符。
-
Object.entries()
方法返回一個給定對象自身可枚舉屬性的鍵值對數(shù)組心褐,其排列與使用for...in
循環(huán)遍歷該對象時返回的順序一致(區(qū)別在于 for-in 循環(huán)也枚舉原型鏈中的屬性)舔涎。Object.entries(obj) obj 可以返回其可枚舉屬性的鍵值對的對象。 返回值 給定對象自身可枚舉屬性的鍵值對數(shù)組檬寂。
-
Object.freeze()
方法可以凍結(jié)一個對象终抽。一個被凍結(jié)的對象再也不能被修改;凍結(jié)了一個對象則不能向這個對象添加新的屬性桶至,不能刪除已有屬性昼伴,不能修改該對象已有屬性的可枚舉性、可配置性镣屹、可寫性圃郊,以及不能修改已有屬性的值。此外女蜈,凍結(jié)一個對象后該對象的原型也不能被修改持舆。freeze()
返回和傳入的參數(shù)相同的對象。Object.freeze(obj) obj 要被凍結(jié)的對象伪窖。 返回值 被凍結(jié)的對象
-
Object.fromEntries()
方法把鍵值對列表轉(zhuǎn)換為一個對象逸寓。Object.fromEntries(iterable) iterable 可迭代對象,類似 Array 覆山、 Map 或者其它實現(xiàn)了可迭代協(xié)議的對象 返回值 一個由該迭代對象條目提供對應屬性的新對象
-
Object.getOwnPropertyDescriptor()
方法返回指定對象上一個自有屬性對應的屬性描述符竹伸。(自有屬性指的是直接賦予該對象的屬性,不需要從原型鏈上進行查找的屬性)Object.getOwnPropertyDescriptor(obj, prop) obj 需要查找的目標對象 prop 目標對象內(nèi)屬性名稱 返回值 如果指定的屬性存在于對象上簇宽,則返回其屬性描述符對象(property descriptor)勋篓,否則返回 undefined
-
Object.getOwnPropertyNames()
方法返回一個由指定對象的所有自身屬性的屬性名(包括不可枚舉屬性但不包括Symbol值作為名稱的屬性)組成的數(shù)組吧享。Object.getOwnPropertyNames(obj) obj 一個對象,其自身的可枚舉和不可枚舉屬性的名稱被返回 返回值 在給定對象上找到的自身屬性對應的字符串數(shù)組
-
Object.getOwnPropertySymbols()
方法返回一個給定對象自身的所有 Symbol 屬性的數(shù)組Object.getOwnPropertySymbols(obj) obj 要返回 Symbol 屬性的對象
-
Object.getPrototypeOf()
方法返回指定對象的原型Object.getPrototypeOf(object) obj 要返回其原型的對象 返回值 給定對象的原型譬嚣。如果沒有繼承屬性钢颂,則返回 null
-
Object.is()
方法判斷兩個值是否是相同的值Object.is(value1, value2) value1 第一個需要比較的值 value2 第二個需要比較的值 返回值 Boolean Object.is() 判斷兩個值是否相同。如果下列任何一項成立拜银,則兩個值相同: 兩個值都是 undefined 兩個值都是 null 兩個值都是 true 或者都是 false 兩個值是由相同個數(shù)的字符按照相同的順序組成的字符串 兩個值指向同一個對象 兩個值都是數(shù)字并且 都是正零 +0 都是負零 -0 都是 NaN 都是除零和 NaN 外的其它同一個數(shù)字 === 運算符(和== 運算符)將數(shù)字值 -0 和 +0 視為相等殊鞭,并認為 Number.NaN 不等于 NaN object.is()不做隱式轉(zhuǎn)換
-
Object.isExtensible()
方法判斷一個對象是否是可擴展的(是否可以在它上面添加新的屬性)Object.isExtensible(obj) obj 需要檢測的對象 返回值 Boolean 密封對象是不可擴展的 凍結(jié)對象也是不可擴展
-
Object.isFrozen()
方法判斷一個對象是否被凍結(jié)Object.isFrozen(obj) 一個不可擴展的空對象同時也是一個凍結(jié)對象 一個不可擴展的對象,擁有一個不可寫但可配置的屬性,則它仍然是非凍結(jié)的 一個不可擴展的對象,擁有一個不可配置但可寫的屬性,則它仍然是非凍結(jié)的 一個不可擴展的對象,值擁有一個訪問器屬性,則它仍然是非凍結(jié)的 一個凍結(jié)對象也是一個密封對象,更是一個不可擴展的對象
-
Object.isSealed()
方法判斷一個對象是否被密封Object.isSealed(obj) 把一個空對象變的不可擴展,則它同時也會變成個密封對象 如果這個對象不是空對象,則它不會變成密封對象,因為密封對象的所有自身屬性必須是不可配置的
-
Object.keys()
方法會返回一個由一個給定對象的自身可枚舉屬性組成的數(shù)組,數(shù)組中屬性名的排列順序和使用for...in
循環(huán)遍歷該對象時返回的順序一致 盐股。如果對象的鍵-值都不可枚舉钱豁,那么將返回由鍵組成的數(shù)組Object.keys(obj) obj 要返回其枚舉自身屬性的對象 返回值 一個表示給定對象的所有可枚舉屬性的字符串數(shù)組
-
Object.preventExtensions()
方法讓一個對象變的不可擴展,也就是永遠不能再添加新的屬性Object.preventExtensions(obj) obj 將要變得不可擴展的對象 返回值 已經(jīng)不可擴展的對象
-
hasOwnProperty()
方法會返回一個布爾值疯汁,指示對象自身屬性中是否具有指定的屬性(也就是是否有指定的鍵)obj.hasOwnProperty(prop) prop 要檢測的屬性 字符串 名稱或者 Symbol 返回值 Boolean 所有繼承了 Object 的對象都會繼承到 hasOwnProperty 方法牲尺。這個方法可以用來檢測一個對象是否含有特定的自身屬性;和 in 運算符不同幌蚊,該方法會忽略掉那些從原型鏈上繼承到的屬性
-
isPrototypeOf()
方法用于測試一個對象是否存在于另一個對象的原型鏈上?
isPrototypeOf()
與instanceof
運算符不同谤碳。在表達式 "object instanceof AFunction
"中,object
的原型鏈是針對AFunction.prototype
進行檢查的溢豆,而不是針對AFunction
本身prototypeObj.isPrototypeOf(object) object 在該對象的原型鏈上搜尋 返回值 Boolean
-
propertyIsEnumerable()
方法返回一個布爾值蜒简,表示指定的屬性是否可枚舉obj.propertyIsEnumerable(prop) prop 需要測試的屬性名 每個對象都有一個propertyIsEnumerable方法。此方法可以確定對象中指定的屬性是否可以被for...in循環(huán)枚舉漩仙,但是通過原型鏈繼承的屬性除外搓茬。如果對象沒有指定的屬性,則此方法返回false
-
toLocaleString()
方法返回一個該對象的字符串表示队他。此方法被用于派生對象為了特定語言環(huán)境的目的(locale-specific purposes)而重載使用obj.toLocaleString() Object toLocaleString 返回調(diào)用 toString() 的結(jié)果卷仑。 該函數(shù)提供給對象一個通用的toLocaleString 方法,不是全部都可以使用它麸折。 Array:Array.prototype.toLocaleString() Number:Number.prototype.toLocaleString() Date:Date.prototype.toLocaleString()
-
toString()
方法返回一個表示該對象的字符串object.toString() 每個對象都有一個toString()方法坠韩,當該對象被表示為一個文本值時悯衬,或者一個對象以預期的字符串方式引用時自動調(diào)用倾剿。默認情況下艘刚,toString()方法被每個Object對象繼承。如果此方法在自定義對象中未被覆蓋芭析,toString() 返回 "[object type]"锚扎,其中type是對象的類型 toString()調(diào)用 null返回[object Null],undefined 返回[object Undefined]
-
valueOf()
方法返回指定對象的原始值object.valueOf() 不同類型對象的valueOf()方法的返回值 Array 返回數(shù)組對象本身馁启。 Boolean 布爾值驾孔。 Date 存儲的時間是從 1970 年 1 月 1 日午夜開始計的毫秒數(shù) UTC。 Function 函數(shù)本身。 Number 數(shù)字值助币。 Object 對象本身。這是默認情況螟碎。 String 字符串值眉菱。 Math 和 Error 對象沒有 valueOf 方法。
-
Object.seal()
方法封閉一個對象掉分,阻止添加新屬性并將所有現(xiàn)有屬性標記為不可配置俭缓。當前屬性的值只要可寫就可以改變Object.seal(obj) 通常,一個對象是可擴展的(可以添加新的屬性)酥郭。密封一個對象會讓這個對象變的不能添加新屬性华坦,且所有已有屬性會變的不可配置。屬性不可配置的效果就是屬性變的不可刪除不从,以及一個數(shù)據(jù)屬性不能被重新定義成為訪問器屬性惜姐,或者反之。但屬性的值仍然可以修改椿息。嘗試刪除一個密封對象的屬性或者將某個密封對象的屬性從數(shù)據(jù)屬性轉(zhuǎn)換成訪問器屬性歹袁,結(jié)果會靜默失敗或拋出TypeError
-
Object.setPrototypeOf()
方法設置一個指定的對象的原型 ( 即, 內(nèi)部[[Prototype]]屬性)到另一個對象或null
Object.setPrototypeOf(obj, prototype) obj 要設置其原型的對象。. prototype 該對象的新原型(一個對象 或 null).
-
Object.values()
方法返回一個給定對象自身的所有可枚舉屬性值的數(shù)組寝优,值的順序與使用for...in
循環(huán)的順序相同 ( 區(qū)別在于 for-in 循環(huán)枚舉原型鏈中的屬性 )Object.values(obj) Object.values()返回一個數(shù)組条舔,其元素是在對象上找到的可枚舉屬性值。屬性的順序與通過手動循環(huán)對象的屬性值所給出的順序相同