注冊登錄

微信小程序支持es6 默認(rèn)啟用javasctipt嚴(yán)格模式

2017-12-05
導(dǎo)讀:2017年6月14日,微信小程序支持es6已經(jīng)是當(dāng)下微信小程序開發(fā)最熱門的話題,下面將從多方面來談?wù)勀J(rèn)啟用javasctipt嚴(yán)格模式相關(guān)的內(nèi)容。...

微信小程序支持es6已經(jīng)是當(dāng)下微信小程序開發(fā)最熱門的話題,下面將從多方面來談?wù)勀J(rèn)啟用javasctipt嚴(yán)格模式相關(guān)的內(nèi)容。

不需要申明嚴(yán)格模式

不需要將"use strict"放在腳本文件的第一行,微信小程序開發(fā)工具開啟ES6轉(zhuǎn)換功能的情況下,默認(rèn)啟用javasctipt嚴(yán)格模式(Strict Mode)。

用塊級作用域代替IIFES

IIFE(立即執(zhí)行函數(shù)表達(dá)式)的通常用途是創(chuàng)造一個內(nèi)部的作用域,在ES6中,能夠創(chuàng)造一個塊級作用域而不僅限于函數(shù)作用域。塊級作用域的出現(xiàn)使得獲得廣泛應(yīng)用的立即執(zhí)行匿名函數(shù)(IIFE)不再必要了。

IIFE:

微信小程序支持es6 默認(rèn)啟用javasctipt嚴(yán)格模式

ES6塊級作用域:

微信小程序支持es6 默認(rèn)啟用javasctipt嚴(yán)格模式

使用for...of循環(huán)

ES6 借鑒 C++、Java、C# 和 Python 語言,引入了for...of循環(huán),作為遍歷所有數(shù)據(jù)結(jié)構(gòu)的統(tǒng)一的方法。

一個數(shù)據(jù)結(jié)構(gòu)只要部署了Symbol.iterator屬性,就被視為具有iterator接口,就可以用for...of循環(huán)遍歷它的成員。也就是說,for...of循環(huán)內(nèi)部調(diào)用的是數(shù)據(jù)結(jié)構(gòu)的Symbol.iterator方法。

for...of循環(huán)可以使用的范圍包括數(shù)組、Set 和 Map 結(jié)構(gòu)、某些類似數(shù)組的對象、Generator 對象以及字符串。

遍歷數(shù)組:

微信小程序支持es6 默認(rèn)啟用javasctipt嚴(yán)格模式

遍歷Set:

微信小程序支持es6 默認(rèn)啟用javasctipt嚴(yán)格模式

for...of 用于遍歷一個迭代器:

微信小程序支持es6 默認(rèn)啟用javasctipt嚴(yán)格模式

for...in 用來遍歷對象中的屬性:

微信小程序支持es6 默認(rèn)啟用javasctipt嚴(yán)格模式

數(shù)組實(shí)例的forEach方法遍歷一個數(shù)組的元素和索引

微信小程序支持es6 默認(rèn)啟用javasctipt嚴(yán)格模式

for...of循環(huán)支持 ES6 迭代(通過 iterables 和 iterators)和解構(gòu)。。通過數(shù)組的ES6新方法enteries()結(jié)合解構(gòu),可以代替數(shù)組實(shí)例的forEach方法。

微信小程序支持es6 默認(rèn)啟用javasctipt嚴(yán)格模式

通過變量解構(gòu)交換兩個變量的值

如果將一對變量放入一個數(shù)組,然后將數(shù)組解構(gòu)賦值相同的變量(順序不同),就可以不依賴中間變量交換兩個變量的值。

微信小程序支持es6 默認(rèn)啟用javasctipt嚴(yán)格模式

使用展開運(yùn)算符和剩余操作符

展開運(yùn)算符(the spread syntax )允許一個表達(dá)式在某處展開,在多個參數(shù)(用于函數(shù)調(diào)用)或者多個元素(用于數(shù)組字面量)或者多個變量(用于解構(gòu)賦值)的地方就會這樣。

用于函數(shù)調(diào)用語法:

微信小程序支持es6 默認(rèn)啟用javasctipt嚴(yán)格模式

用于數(shù)組字面量語法:

微信小程序支持es6 默認(rèn)啟用javasctipt嚴(yán)格模式

剩余操作符(the rest operator),它的樣子看起來和展開操作符一樣,但是它是用于解構(gòu)數(shù)組和對象。在某種程度上,剩余元素和展開元素相反,展開元素會“展開”數(shù)組變成多個元素,剩余元素會收集多個元素和“壓縮”成一個單一的元素。

剩余參數(shù)(rest parameter)允許長度不確定的實(shí)參表示為一個數(shù)組。

剩余參數(shù)語法:

微信小程序支持es6 默認(rèn)啟用javasctipt嚴(yán)格模式

使用示例:

微信小程序支持es6 默認(rèn)啟用javasctipt嚴(yán)格模式

比較兩個值是否嚴(yán)格相等

Object.is()用來比較兩個值是否嚴(yán)格相等。它與嚴(yán)格比較運(yùn)算符(===)的行為基本一致,不同之處只有兩個:一是+0不等于-0,二是NaN等于自身。

微信小程序支持es6 默認(rèn)啟用javasctipt嚴(yán)格模式

為了滿足移動端的適配,可在程序中加入Polyfill

微信小程序支持es6 默認(rèn)啟用javasctipt嚴(yán)格模式

對象屬性復(fù)制

Object.assign方法用來將源對象(source)的所有可枚舉屬性,復(fù)制到目標(biāo)對象(target)。它至少需要兩個對象作為參數(shù),第一個參數(shù)是目標(biāo)對象,后面的參數(shù)都是源對象。只要有一個參數(shù)不是對象,就會拋出TypeError錯誤。

微信小程序支持es6 默認(rèn)啟用javasctipt嚴(yán)格模式

如果目標(biāo)對象與源對象有同名屬性,或多個源對象有同名屬性,則后面的屬性會覆蓋前面的屬性。

為了滿足移動端的適配,可在程序中加入Polyfill

微信小程序支持es6 默認(rèn)啟用javasctipt嚴(yán)格模式

 

 


重磅推薦:小程序開店目錄

第一部分:小商店是什么

第二部分:如何開通一個小商店

第三部分:如何登錄小商店

第四部分:開店任務(wù)常見問題

第五部分:小商店可以賣什么

第六部分:HiShop小程序特色功能

第七部分:小程序直播

第八部分:小程序收貨/物流

第九部分:小程序怎么結(jié)算

第十部分:小程序客服

第十一部分:電商創(chuàng)業(yè)

第十二部分:小程序游戲開發(fā)

電話咨詢 微信咨詢 預(yù)約演示 0元開店