ES6 中新增加了 let 和 const 兩個命令, let 用於定義變數, const 用於定義常量。 兩個命令與原有的 var 命令所不同的地方在於, let, const 都是塊級作用域, 其有效範圍僅在代碼塊中, 實例如下:
定義常量物件
上例中, 常量 a 中的內容在定義後, 再進行修改依然有效, 原因是對於物件類型的使用是指標式引用, 常量只是指向了物件的指標, 物件本身的內容卻依然可以被修改, 注意, 陣列(Array) 也是物件; 那麼如果在定義常量時使用基礎資料類型:string, number, boolean 等
在使用中, 建議使用 let 與 const 完全代替 var 命令
數值擴展轉換 Number.parseInt - 將字串或數位轉換為整數 Number.parseFloat - 將字串或數位轉換為浮點數
Number.parseInt, Number.parseFloat 與 parseInt, parseFloat 功能一致, 在ES6中, 推薦使用 Number. 的方式進行調用, 這麼做的目的是為了讓代碼的使用方式盡可能減少全域性方法, 使用得語言逐步模組化
測試函數
//測試是否整數
Number.isInteger(21)//true
Number.isInteger(1.11)//false
//測試是否NaN
Number.isNaN(Nan)//true
Number.isNaN(1)//false
字串內容測試
字串內容重複輸出
原生支援範本語言
字串遍歷輸出
字串補全
陣列擴展
合併陣列
快速轉換為陣列
陣列內容測試
內容過濾
內容實例
.keys() - 獲得陣列中所有元素的鍵名(實際上就是下標索引號)
.values() - 獲得陣列中所有元素的資料
.entries() - 獲得陣列中所有資料的鍵名和資料
.entries(), .keys(), .values() 功能與 Object 中的幾個同名函數功能類似, 實際使用中實用性不高, 對於陣列的操作, 直接進行遍歷即可
物件擴展屬性的簡潔表示
判斷物件是否為陣列
物件內容合併
let a = {a:1,b:2}, b = {b:3}, c = {b:4,c:5};
let d = Object.assign(a, b, c);
console.log(d);//{a:1,b:4,c:5}
console.log(a);//{a:1,b:4}
//上面的合併方式會同時更新 a 物件的內容, a 的屬性如果有多次合併會被更新資料,
//但自身沒有的屬性, 其它物件有的屬性不會被添加到 a 身上;
//參數列中的物件只會影響第一個, 後面的參數物件不會被修改資料
//推薦使用這種方式進行物件資料合併
let a = {a:1,b:2}, b = {b:3}, c = {b:4,c:5};
let d = Object.assign({}, a, b, c);//第一個參數增加一個空物件, 在合併時讓它被更新, 不影響實際的物件變數內容
console.log(d);//{a:1,b:4,c:5}//與上面的方式合併結果一致,
物件內容合併的方向是從參數順序的後向前合併
物件內容集合
Object.keys() - 獲得物件中所有的鍵名, 以陣列的形式返回
Object.values() - 獲得物件中所有的值內容, 以陣列的形式返回
Object.entries() - 獲得物件中所有的成員資料, 以陣列的形式返回, 成員的內容也是陣列形式
其實觀察可發現, Object.keys(), Object.values(), Object.entries(), 與 Java 的 MAP 中的方法是一致的, 不論是方法名還是具體的用法, 這也可以幫忙理解這些功能 API
解構賦值
物件結構解構
模組化最簡單實例的使用場景
以上簡單的實例就兩個指令檔舉例說明了兩個檔在實際使用,可以進行互相引用,並獲得目的檔案中的資料;我們可以認為一個指令檔就是一個 模組,那麼在實際開發過程中,可以將業務處理內容,或是資料處理過程 抽象 在一個檔中,在需要使用時,由其它模組引入並使用其中的資料
文章連結:https://my.oschina.net/u/171860/blog/1794697
作者:TerryZ
物件結構解構
模組化最簡單實例的使用場景
以上簡單的實例就兩個指令檔舉例說明了兩個檔在實際使用,可以進行互相引用,並獲得目的檔案中的資料;我們可以認為一個指令檔就是一個 模組,那麼在實際開發過程中,可以將業務處理內容,或是資料處理過程 抽象 在一個檔中,在需要使用時,由其它模組引入並使用其中的資料
文章連結:https://my.oschina.net/u/171860/blog/1794697
作者:TerryZ