原创 es6基礎0x016:新的 Math、Number、String、Array、Object 的 Api

0x001 Math Math更新了幾個方法,但是一般情況下沒有太大的用處 反雙曲線函數,返回一個數字的反雙曲餘弦值 Math.acosh(-1); // NaN Math.acosh(0); // NaN Math.acosh(

原创 es6基礎0x016:生成器函數

0x000 概述 其實前幾章我都不知道怎麼寫,因爲他們總是涉及到一些比較深的東西,比如可迭代對象、生成器、迭代器之類的東西,等寫完這個系列,再好好整理一下這些東西可能會好一點,現在整理到哪兒就寫到哪兒吧 0x001 語法 function*

原创 es6基礎0x015:for...of

0x000 概述 for...of是一個迭代可迭代對象的方式,可迭代對象包括Array、Map、Set、String、TypedArray、arguments 對象等等 0x001 語法 for(variable of iterable){

原创 es6基礎0x013:WeakSet

0x000 概述 WeakSet和Set差不多,但是有一些不同: WeakSet只能存儲對象,不能存儲任意值 WeakSet不可迭代 WeakSet是弱引用,也就是如果沒有變量引用WeakSet內的值,很容易被回收 0x001 初

原创 es6基礎0x014:WeakMap

0x000 概述 WeakMap和Map使用上類似,在特性上和Set類似,和Map相比,有一下特點 不可枚舉 WeakMap的key只能是對象 WeakMap是弱引用,WeakMap內的key如果沒有引用,將會被垃圾回收機制回收 0

原创 es6基礎0x012:Map

0x000 概述 Map也是一個新的數據結構,在js中其實也經常用到,比如下面的栗子,我們經常這麼使用一個對象,與其說他是對象,其實他更像一個Map,但是比起真正的Map,這個還是有點弱了, let color={ "red":"#

原创 es6基礎0x011:Set

0x000 概述 Set是一個新的數據結構,和其他語言的特性差不多,當然,作爲js中的Set,他還是有一些屬於js的特點。 0x001 初始化 new Set([iterable]); 初始化一個Set有一個可選的參數,這個參數必須是一個可

原创 es6基礎0x010:增強的對象字面量

0x000 概述 在es6中,對象字面量的語法被增強了 0x001 更短的屬性聲明 如果屬性的屬性名和屬性值引用的變量名一致,可以直接省略 let name="jack" // es6之前 var obj={name:name} // {n

原创 es6基礎0x009:模板字符串

0x000 概述 模板字符串出來以後,單引號、雙引號哪個好的爭論可以退出歷史舞臺的,模板字符串的`最好! 0x001 語法 單行文本 `string text` 多行文本 `string text line 1 string te

原创 es6基礎0x008:解構賦值

0x000 概述 實不相瞞,解構賦值非常叼,特別是和其他es6一起使用的時候,那如何簡單的說解構賦值呢,打個比方:解構賦值就是一個硬幣拆分機,將所有的一毛、五毛、一塊硬幣投入硬幣拆分機,他就自動將所有的硬幣分好了,拿出你要的就行了! 0x0

原创 es6基礎0x007:展開

0x000 概述 展開符號真的是一個非常好用的東西,我常用於字符串分割、數組合並、數組拷貝、對象合併、對象拷貝。 0x001 語法 ...iterableObj 0x002 函數調用的時候參數展開 這是在函數調用的時候,將參數展開,和剩餘參

原创 es6基礎0x004:剩餘參數

0x000 概述 剩餘參數將沒有對應形參的參數聚合成一個數組 0x001 語法 function(a, b, ...theArgs) { } 0x002 只聚合未對應形參參數 剩餘參數只會將沒有對應形參的參數聚合成一個數組, 而argume

原创 es6基礎0x003:默認參數

0x000 語法 function [name]([param1[ = defaultValue1 ][, ..., paramN[ = defaultValueN ]]]) { statements } 0x001 使用 fu

原创 es6基礎0x002:var、let、const、塊級作用域、暫存死區

0x001 var 語法 var varname1 [= value1 [, varname2 [, varname3 ... [, varnameN]]]]; 使用 var a, b=2 // 聲明多個變量,可以賦值,也可以不賦

原创 es6基礎0x001:箭頭函數

0x001 概述 箭頭函數有兩個作用: 更簡短的寫法 不綁定this 0x000 寫法 正規一點 let add = (num1, num2)=>{ return num1 + num2 } add(1, 2) 聲明瞭一個a