注冊登錄

微信小程序支持es6 默認啟用javasctipt嚴格模式

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

微信小程序支持es6已經(jīng)是當下微信小程序開發(fā)最熱門的話題,下面將從多方面來談談默認啟用javasctipt嚴格模式相關的內(nèi)容。

不需要申明嚴格模式

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

用塊級作用域代替IIFES

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

IIFE:

微信小程序支持es6 默認啟用javasctipt嚴格模式

ES6塊級作用域:

微信小程序支持es6 默認啟用javasctipt嚴格模式

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

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

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

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

遍歷數(shù)組:

微信小程序支持es6 默認啟用javasctipt嚴格模式

遍歷Set:

微信小程序支持es6 默認啟用javasctipt嚴格模式

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

微信小程序支持es6 默認啟用javasctipt嚴格模式

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

微信小程序支持es6 默認啟用javasctipt嚴格模式

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

微信小程序支持es6 默認啟用javasctipt嚴格模式

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

微信小程序支持es6 默認啟用javasctipt嚴格模式

通過變量解構交換兩個變量的值

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

微信小程序支持es6 默認啟用javasctipt嚴格模式

使用展開運算符和剩余操作符

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

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

微信小程序支持es6 默認啟用javasctipt嚴格模式

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

微信小程序支持es6 默認啟用javasctipt嚴格模式

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

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

剩余參數(shù)語法:

微信小程序支持es6 默認啟用javasctipt嚴格模式

使用示例:

微信小程序支持es6 默認啟用javasctipt嚴格模式

比較兩個值是否嚴格相等

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

微信小程序支持es6 默認啟用javasctipt嚴格模式

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

微信小程序支持es6 默認啟用javasctipt嚴格模式

對象屬性復制

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

微信小程序支持es6 默認啟用javasctipt嚴格模式

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

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

微信小程序支持es6 默認啟用javasctipt嚴格模式

 

 


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

第一部分:小商店是什么

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

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

第四部分:開店任務常見問題

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

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

第七部分:小程序直播

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

第九部分:小程序怎么結算

第十部分:小程序客服

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

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

電話咨詢 微信咨詢 預約演示 0元開店