摘要:中覺得比較特別簡潔的寫法可以直接寫入變量和函數等同于等同于的方法用來比較兩個值是否嚴格相等,與嚴格比較運算符的行為基本一致。用于對象的合并,將源對象的所有課枚舉屬性復制到目標對象。的所有方法整理新增的方法擴展運算符的整理
ES6中覺得比較特別簡潔的寫法,可以直接寫入變量和函數
var foo = "bar"; var baz = {foo}; baz // {foo: "bar"} // 等同于 var baz = {foo: foo}; function f(x, y) { return {x, y}; } // 等同于 function f(x, y) { return {x: x, y: y}; }
Object的方法
Object.is():
用來比較兩個值是否嚴格相等,與嚴格比較運算符(===)的行為基本一致。
Object.assign()
用于對象的合并,將源對象的所有課枚舉屬性復制到目標對象。
這個方法是淺拷貝,不是深拷貝
這個也可以用來處理數組,但是會把數組視為對象
Object.assign([1, 2, 3], [4, 5])//// [4, 5, 3]
他的基本用法是
給對象添加屬性
為對象添加方法
克隆對象
合并多個對象
為屬性指定默認值
屬性的可枚舉性
Object.getOwnPropertyDescriptor: 這個方法可以用來獲取該屬性的描述對象。
屬性的遍歷
1.for..in 遍歷對象自身的和可繼承的可枚舉屬性(不含Symbol屬性)
2.Object.keys(obj),返回一個數組,包括對象自身的(不含繼承的)所有課枚舉屬性(不含Symbol屬性)
3.Object.getOwnPropertyNames(obj):返回一個數組,包含對象自身的所有屬性(不含Symbol,但是包括不可枚舉屬性)
4.Object.getOwnPropertySymbols(obj),返回一個數組,包含對象自身的所有Symbol屬性
5.Reflect.ownKeys(obj): 返回一個數組,包含對象自身的所有屬性,不管是屬性名是Symbol或者字符串,也不管是否可枚舉
這5中方法都遍歷對象的屬性,都遵從同樣的屬性遍歷的次序規則
首先遍歷所有屬性名為數值的屬性,按照數字排序
其次遍歷所有屬性名為字符串的屬性,按照生成時間排序
最后遍歷屬性名為Symbol值的屬性,按照生成時間排序
Object.getPrototypeOf()
Object.keys()
Object.values()
Object.entries(): 返回一個數組,成員是參數對象自身的(不含繼承的)所有可遍歷屬性的鍵值對數組
var obj = { foo: "bar", baz: 42 }; Object.entries(obj) // [ ["foo", "bar"], ["baz", 42] ]
對象的擴展運算符的應用
1.解構賦值
const [a, ...b] = [1, 2, 3]; a // 1 b // [2, 3] let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 }; x // 1 y // 2 z // { a: 3, b: 4 }
2.遍歷對象的所有可遍歷屬性
let z = { a: 3, b: 4 }; let n = { ...z }; n // { a: 3, b: 4 } let ab = { ...a, ...b }; // 等同于 let ab = Object.assign({}, a, b);
Object.getOwnPropertyDescriptors()
ES5中有一個Object.getOwnPropertyDescriptor,返回某個對象屬性的描述對象,而getOwnPropertyDescriptors返回指定對象所有自身屬性(非繼承屬性)的描述對象。
//TODO: Object的所有方法整理es5新增的方法
// 擴展運算符的整理
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/86972.html
摘要:循環遍歷對象自身的和繼承的可枚舉屬性不含屬性。返回一個數組,包含對象自身的所有屬性的鍵名。目前,只有對象方法的簡寫法可以讓引擎確認,定義的是對象的方法。showImg(https://user-gold-cdn.xitu.io/2019/5/21/16ada8456223b0e1); 1. 屬性的簡潔表示法 在ES6中 允許直接寫入變量和函數,作為對象的屬性和方法,使得代碼的書寫更為簡潔。...
摘要:屬性的簡潔表示法在中允許直接寫入變量和函數,作為對象的屬性和方法,使得代碼的書寫更為簡潔。循環遍歷對象自身的和繼承的可枚舉屬性不含屬性。返回一個數組,包含對象自身的所有屬性的鍵名。 showImg(https://segmentfault.com/img/remote/1460000019259004?w=1282&h=1920); 1. 屬性的簡潔表示法 在ES6中 允許直接寫入變量...
摘要:標準入門讀書筆記和命令新增命令,用于聲明變量,是塊級作用域。用于頭部補全,用于尾部補全。函數調用的時候會在內存形成一個調用記錄,又稱為調用幀,保存調用位置和內部變量等信息。等到執行結束再返回給,的調用幀才消失。 《ES6標準入門》讀書筆記 @(StuRep) showImg(https://segmentfault.com/img/remote/1460000006766369?w=3...
摘要:字符串的擴展字符串的遍歷器接口字符串可以被循環遍歷。即能識別編號大于查詢字符串是否包含某個字符返回布爾值,表示是否找到了參數字符串。返回布爾值,表示參數字符串是否在原字符串的頭部。 字符串的擴展 1.字符串的遍歷器接口 字符串可以被for...of循環遍歷。 與es5的比較for循環雖可以遍歷字符串,但不能識別大于oxFFFF的編碼; 2.位置 --> 字符/碼點 根據指定位置返回對應...
摘要:參數的形式為變量名擴展運算符是三個點。傳遞給函數的一組參數值,被整合成了數組。擴展運算符的應用普通的函數調用上面代碼中,和這兩行,都是函數的調用,它們的都使用了擴展運算符。這時,擴展運算符可以將其轉為真正的數組,原因就在于對象實現了。 rest參數和擴展運算符都是ES6新增的特性。rest參數的形式為:...變量名;擴展運算符是三個點(...)。 rest參數 rest參數用于獲取函數...
閱讀 1995·2021-11-23 10:08
閱讀 2325·2021-11-22 15:25
閱讀 3269·2021-11-11 16:55
閱讀 763·2021-11-04 16:05
閱讀 2576·2021-09-10 10:51
閱讀 704·2019-08-29 15:38
閱讀 1574·2019-08-29 14:11
閱讀 3480·2019-08-29 12:42