摘要:上一篇學(xué)習(xí)下一代語法一,我們學(xué)習(xí)了關(guān)于塊作用域變量或常量聲明和語法新的字符串拼接語法模版字面量數(shù)組元素或?qū)ο笤氐慕鈽?gòu)賦值和對象字面量簡寫的相關(guān)知識。這便是擴展運算符的用途之一。
本文同步 帶你入門 JavaScript ES6 (二),轉(zhuǎn)載請注明出處。
上一篇學(xué)習(xí)下一代 JavaScript 語法: ES6 (一),我們學(xué)習(xí)了關(guān)于塊作用域變量或常量聲明 let 和 const 語法、新的字符串拼接語法模版字面量、數(shù)組元素或?qū)ο笤氐慕鈽?gòu)賦值和對象字面量簡寫的相關(guān)知識。
這一章我們將學(xué)習(xí)
for of 迭代語法
神奇的擴展語法(...:展開運算符、剩余參數(shù))
一、for of 迭代語法先讓我們看看 ES6 之前的對象變量迭代(遍歷)方式:
1.1 for 語句
for 語句
let numerics = [0, 1, 2, 3] for (let i = 0; i < numerics.length; i++) { console.log(numerics[i]) }
for 語法: 在變量對象時,需要定義計數(shù)器(i)進行循環(huán)跟蹤和訪問數(shù)據(jù)中的值;循環(huán)退出條件(i < numeric.length)
為了解決這個問題,就有了 for in 語句
1.2 for in 語句
for in 語句
它解決了 for 語句 的計數(shù)器和推出條件
let numerics = [0, 1, 2, 3] for (let index in numerics) { console.log(numerics[index]) }
但是 for in 語句依然需要定義 index,作為訪問數(shù)據(jù)的索引
1.3 for of 語句
現(xiàn)在在 ES6 中,只要是可迭代對象都可以使用 for of進行迭代訪問數(shù)據(jù)元素。
for of 語法 同 for in 語法 類似,只是將 in 替換成了 of
let numerics = [0, 1, 2, 3] for (let numeric in numerics) { console.log(numeric) }二、 擴展語法
擴展語法
剩余參數(shù)
擴展語法運算符是 ...,在上一篇學(xué)習(xí)下一代 JavaScript 語法: ES6 (一)的「3.1」節(jié)中我們使用了將數(shù)組中剩余元素解構(gòu)賦值到一個變量。這便是擴展運算符的用途之一。
現(xiàn)在我們學(xué)習(xí)更多擴展運算符的語法知識
2.1 作為展開運算符使用
先來了解如何使用展開運算符
let languages = ["php", "javascript", "python", "c++"] console.log(...languages)// php javascript python c++ console.log(languages)// ["php", "javascript", "python", "c++"]
上例中,使用 ...languages 對數(shù)組內(nèi)的所有元素作為多帶帶的變量輸出
2.1.1 展開運算符實現(xiàn)數(shù)組的連接
let langs = ["php", "javascipt"] let langs2 = ["c++", "python"] console.log([...langs, ...langs2])// ["php", "javascipt", "c++", "python"]
2.1.2 concat 方法實現(xiàn)數(shù)組的拼接
let langs = ["php", "javascipt"] let langs2 = ["c++", "python"] console.log(langs.concat(langs2))// ["php", "javascipt", "c++", "python"]
相較于使用展開運算符 langs.concat 在實現(xiàn)上稍微復(fù)雜一些
2.2 作為剩余參數(shù)運算符使用
在上一篇[學(xué)習(xí)下一代 JavaScript 語法: ES6 (一)]()的 3.1 節(jié)中我們已經(jīng)使用了該用法,再來看下
let seasons = ["Spring", "Summer", "Autumn", "Winter"] let [spring, summer, ...autumnAndWinter] = seasons console.log(spring)//Spring console.log(summer)// Summer console.log(autumnAndWinter)// ["Autumn", "Winter"]
2.3 作為可變參數(shù)運算符使用
可變參數(shù)函數(shù) 是接受不定數(shù)量參數(shù)的函數(shù)
// 一般定義函數(shù)方法 function sum(a, b, c) { return a + b + c } // 使用可變參數(shù)運算符定義采納數(shù)方法 function sumPro(...nums) { let sum = 0 for (let num of nums) { sum += num } return sum } console.log(sum(1, 2, 3)) console.log(sumPro(1, 2)) console.log(sumPro(1, 2, 3)) console.log(sumPro(1, 2, 3, 4))
參考資料:
MDN
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/90462.html
摘要:一概述集合是引入的新的內(nèi)置對象類型,其特點同數(shù)學(xué)意義的集合,即集合內(nèi)所有元素不重復(fù)元素唯一。數(shù)組集合對比數(shù)組和集合,數(shù)組可以加入重復(fù)數(shù)據(jù),而集合的所有元素是唯一的不允許重復(fù)。因此,適合臨時存放一組對象,以及存放跟對象綁定的信息。 本文同步帶你入門 帶你入門 JavaScript ES6 (五) 集合,轉(zhuǎn)載請注明出處。 前面我們學(xué)習(xí)了: for of 變量和擴展語法 塊作用域變量和解構(gòu)...
摘要:方法如示例中定義的方法靜態(tài)方法使用關(guān)鍵字修飾的方法,允許通過類名直接調(diào)用靜態(tài)方法而無需實例化。 本文同步帶你入門 JavaScript ES6 (四),轉(zhuǎn)載請注明出處。 前面我們學(xué)習(xí)了: for of 變量和擴展語法 塊作用域變量和解構(gòu) 箭頭函數(shù) 本章我們將學(xué)習(xí) ES6 中的 類,了解類基本定義和繼承相關(guān)知識 一、概述 ES6 中的 類 是基于原型的繼承語法糖,本質(zhì)上它是一個 fu...
摘要:是國際組織于年月日發(fā)布的第六版,正式名為通常被成為或。二模版字面量提供一種簡單實現(xiàn)表達式嵌套的字符串字面量操作,簡而言之就是能夠以簡單的方法實現(xiàn)字符串拼接操作。 本文同步 帶你入門 JavaScript ES6 (一),轉(zhuǎn)載請注明出處。 ES6: 是 ECMA國際組織于 2015 年 6 月 17 日發(fā)布的 ECMAScript 第六版,正式名為 ECMAScript 2015,通常被...
摘要:上一章我們學(xué)習(xí)了遍歷和擴展字符語法。本章我們主要學(xué)習(xí)中的箭頭函數(shù)箭頭函數(shù)更準(zhǔn)確來說叫箭頭函數(shù)表達式。箭頭函數(shù)余普通函數(shù)功能相同,但語法差別比較大。 帶你入門 JavaScript ES6 (三) 本文同步帶你入門 JavaScript ES6 (三),轉(zhuǎn)載請注明出處。 上一章我們學(xué)習(xí)了 for of 遍歷和擴展字符語法。本章我們主要學(xué)習(xí) ES6 中的箭頭函數(shù) 箭頭函數(shù) 更準(zhǔn)確來說叫 箭...
摘要:初始化申明一個設(shè)置和獲取值使用設(shè)置新值或更新值申明設(shè)置值張三豐張三豐重復(fù)設(shè)置值如果鍵值存在則新值替換舊值張三豐使用獲取值,如果獲取的不存在返回分別獲取判斷是否存在使用判斷給定是否存在映射內(nèi)。 本文同步帶你入門 帶你玩轉(zhuǎn) JavaScript ES6 (六) - Map 映射,轉(zhuǎn)載請注明出處。 本章我們講學(xué)習(xí) ES6 中的 Map(映射)。上一章節(jié)我們學(xué)習(xí)了 [Set(集合)]()的相關(guān)...
閱讀 3610·2021-10-09 09:43
閱讀 6257·2021-09-07 10:15
閱讀 2804·2019-08-30 14:03
閱讀 3140·2019-08-29 11:01
閱讀 1829·2019-08-29 10:56
閱讀 1159·2019-08-28 17:52
閱讀 3562·2019-08-26 11:42
閱讀 2626·2019-08-26 10:33