摘要:對象判斷兩個(gè)參數(shù)的值是否全等與類似不過區(qū)別在于返回返回用于對象的合并將參數(shù)中所有可枚舉的屬性復(fù)制到目標(biāo)對象返回目標(biāo)對象若有相同的屬性值后面的會覆蓋之前的值傳入一個(gè)對象返回一個(gè)數(shù)組包含對象中所有可遍歷的屬性的鍵名傳入一個(gè)對象返回一個(gè)數(shù)組包含
對象
Object.is(value1,value2)
判斷兩個(gè)參數(shù)的值是否全等,與 === 類似,不過區(qū)別在于 Object.is(+0, -0)返回false, Object.is(NaN, NaN)返回true
Object.is("foo","foo") //true Object.is({},{}) //false
Object.assign(target,o1,o2...)
用于對象的合并將參數(shù)中所有可枚舉的屬性復(fù)制到目標(biāo)對象target,返回目標(biāo)對象
若有相同的屬性值,后面的會覆蓋之前的值
const target = {a:1, b:2, c:3} const o1 = {b:4, d:5} const newTarget = Object.assign(target, o1) console.log(target) //{a:1, b:4, c:3, d:5} console.log(Object.is(target,newTarget)) //true
Object.keys(obj)
傳入一個(gè)對象返回一個(gè)數(shù)組,包含對象中所有可遍歷的屬性的鍵名
const obj = {name: "lil", age: 3} console.log(Object.keys(obj)) //[ "name", "age" ]
Object.values(obj)
傳入一個(gè)對象返回一個(gè)數(shù)組,包含對象中所有可遍歷的屬性的鍵值
const obj = {name: "lil", age: 3} console.log(Object.values(obj)) //[ "lil", 3 ]
Object.entries(obj)
傳入一個(gè)對象返回一個(gè)數(shù)組,包含對象中所有可遍歷的屬性的鍵值對
const obj = {name: "lil", age: 3} console.log(Object.entries(obj)) //[ [ "name", "lil" ], [ "age", 3 ] ]
Object.setPrototypeOf(obj,prototype)
用來設(shè)置對象的prototype對象,返回參數(shù)對象本身,這個(gè)方法是ES6
正式推薦的設(shè)置原型對象的方法,等同于
function foo(obj,proto) { obj.__proto__ = proto; return obj }
Object.getPrototypeOf(obj)
傳入對象獲取對象的原型對象
函數(shù)rest參數(shù)
reset用來獲取函數(shù)多余的參數(shù),將多余的參數(shù)放入數(shù)組中,可調(diào)用數(shù)組的方法
function foo(...rest) { return rest } console.log(foo(1,2,3)) //[1,2,3]數(shù)組
擴(kuò)展運(yùn)算符
擴(kuò)展運(yùn)算符表示為...,可理解為rest參數(shù)的逆運(yùn)算
擴(kuò)展運(yùn)算符將一個(gè)數(shù)組轉(zhuǎn)為用逗號隔開的參數(shù)序列
const arr = [1,2,3,4] console.log(arr) //1 2 3 4
將字符串轉(zhuǎn)換為數(shù)組
console.log([..."hello"]) //[ "h", "e", "l", "l", "o" ]
合并數(shù)組
const arr1 = [1,2,3] const arr2 = [4,5,6] const arr3 = [...arr1,...arr2] console.log(arr3) //[ 1, 2, 3, 4, 5, 6 ]
Array.from()
用于將類數(shù)組或者可遍歷的對象轉(zhuǎn)為數(shù)組
const obj = {"0":"a","1":"b","2":"c",length:3} console.log(Array.from(obj)) //[ "a", "b", "c" ] console.log(Array.from("hello"))//[ "h", "e", "l", "l", "o" ]
Array.of()
將一組值轉(zhuǎn)換為數(shù)組,彌補(bǔ)了Array()的不足之處
Array.of(1,2,3) //[1, 2, 3] Array(1,2,3) //[1, 2, 3] Array.of(3) //[3] Array(3) //[, , ,]
find()
返回?cái)?shù)組中滿足回調(diào)函數(shù)的第一個(gè)的值,全都不滿足則返回undefined
const arr = [1, 2, 30, 100, 60] const result = arr.find(item => item > 30) console.log(result) //100
findIndex()
與find()用法類似,返回值為滿足回調(diào)函數(shù)的第一個(gè)值的下標(biāo)
全都不滿足則返回undefined
const arr = [1, 2, 30, 100, 60] const result = arr.findIndex(item => item > 30) console.log(result) //3
entries()
用于遍歷數(shù)組,返回一個(gè)遍歷器對象Object [Array Iterator]{}
可用for...of進(jìn)行循環(huán)遍歷
const arr = ["a", "b", "c"] for (let [index, item] of arr.entries()) { console.log(index, item) } //0 "a" //1 "b" //2 "c"
keys()
用法與entries()一樣,區(qū)別在于keys()是對鍵名進(jìn)行遍歷而entries()
是對鍵值對進(jìn)行遍歷
const arr = ["a", "b", "c"] for (let index of arr.keys()) { console.log(index) }
includes()
發(fā)方法返回布爾值,檢測數(shù)組是否包含某個(gè)值
const arr = [1,2,"a",NaN] arr.includes(1) //true arr.includes(3) //false arr.includes("a") //true arr.includes(NaN) //true
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/106774.html
摘要:在語法中,操作符有兩種意義剩余語法,參數(shù)和展開語法,展開數(shù)組對象,作為函數(shù)數(shù)組對象的擴(kuò)展運(yùn)算符。使用和參數(shù)進(jìn)行操作其余參數(shù)傳給原始函數(shù)展開語法運(yùn)算則可以看作是參數(shù)的逆運(yùn)算。 在ES6語法中,...操作符有兩種意義:rest(剩余語法,rest參數(shù)) 和 spread(展開語法,展開數(shù)組/對象),作為函數(shù)、數(shù)組、對象的擴(kuò)展運(yùn)算符。 從某種意義上說,剩余語法與展開語法是相反的:剩余語法將多...
摘要:標(biāo)準(zhǔn)入門讀書筆記和命令新增命令,用于聲明變量,是塊級作用域。用于頭部補(bǔ)全,用于尾部補(bǔ)全。函數(shù)調(diào)用的時(shí)候會在內(nèi)存形成一個(gè)調(diào)用記錄,又稱為調(diào)用幀,保存調(diào)用位置和內(nèi)部變量等信息。等到執(zhí)行結(jié)束再返回給,的調(diào)用幀才消失。 《ES6標(biāo)準(zhǔn)入門》讀書筆記 @(StuRep) showImg(https://segmentfault.com/img/remote/1460000006766369?w=3...
摘要:參數(shù)的形式為變量名擴(kuò)展運(yùn)算符是三個(gè)點(diǎn)。傳遞給函數(shù)的一組參數(shù)值,被整合成了數(shù)組。擴(kuò)展運(yùn)算符的應(yīng)用普通的函數(shù)調(diào)用上面代碼中,和這兩行,都是函數(shù)的調(diào)用,它們的都使用了擴(kuò)展運(yùn)算符。這時(shí),擴(kuò)展運(yùn)算符可以將其轉(zhuǎn)為真正的數(shù)組,原因就在于對象實(shí)現(xiàn)了。 rest參數(shù)和擴(kuò)展運(yùn)算符都是ES6新增的特性。rest參數(shù)的形式為:...變量名;擴(kuò)展運(yùn)算符是三個(gè)點(diǎn)(...)。 rest參數(shù) rest參數(shù)用于獲取函數(shù)...
摘要:返回一個(gè)對象,遍歷對象自身和繼承的所有可枚舉屬性不含,與相同和在紅寶書中就已經(jīng)提到過屬性,表示的是引用類型實(shí)例的一個(gè)內(nèi)部指針,指向該實(shí)例的構(gòu)造函數(shù)的原型對象。 半個(gè)月前就決定要將ES6的學(xué)習(xí)總結(jié)一遍,結(jié)果拖延癥一犯,半個(gè)月就過去了,現(xiàn)在補(bǔ)起來,慚愧慚愧。 阮一峰的《ES6標(biāo)準(zhǔn)入門》這本書有300頁左右,除了幾個(gè)新的API和js語法的擴(kuò)展,真正有價(jià)值的內(nèi)容并不多。所謂存在即合理,每部分的...
摘要:它是一個(gè)通用標(biāo)準(zhǔn),奠定了的基本語法。年月發(fā)布了的第一個(gè)版本,正式名稱就是標(biāo)準(zhǔn)簡稱。結(jié)語的基本擴(kuò)展還有一些沒有在這里詳細(xì)介紹。 前言 ES6標(biāo)準(zhǔn)以及頒布兩年了,但是,好像還沒有完全走進(jìn)我們的日常開發(fā)。這篇文章從ES6的基本類型擴(kuò)展入手,逐步展開對ES6的介紹。 ECMAScript和JavaScript JavaScript是由Netscape創(chuàng)造的,該公司1996年11月將JavaSc...
摘要:函數(shù)調(diào)用會在內(nèi)存形成一個(gè)調(diào)用記錄,又稱調(diào)用幀,保存調(diào)用位置和內(nèi)部變量等信息。等到運(yùn)行結(jié)束,將結(jié)果返回到,的調(diào)用幀才會消失。方法用于將一組值,轉(zhuǎn)換為數(shù)組。,和遍歷數(shù)組方法返回一個(gè)布爾值,表示某個(gè)數(shù)組是否包含給定的值,與字符串的方法類似。 ES6 簡介 ES6, 全稱 ECMAScript 6.0 ,是 JavaScript 的下一個(gè)版本標(biāo)準(zhǔn),2015.06 發(fā)版。 let 和 const...
閱讀 3369·2021-11-19 11:36
閱讀 2967·2021-09-27 13:34
閱讀 2022·2021-09-22 15:17
閱讀 2431·2019-08-30 13:49
閱讀 780·2019-08-26 13:58
閱讀 1385·2019-08-26 10:47
閱讀 2567·2019-08-23 18:05
閱讀 635·2019-08-23 14:25