es6常用知識總結

2021-08-08 23:05:08 字數 4179 閱讀 8500

es6已經出了2年左右的時間了,雖然部分瀏覽器沒有支援es6,不過在babel等幫助下,我們依然可以使用es6相關的內容,現在對es6常用內容的總結。

變數結構是按照一堆的規則從陣列或者物件中提取值並賦予給變數。

陣列解構:

let [x, y, z] = [1, 2, 3];

console.log(x); //1

console.log(y); //2

console.log(z); //3

解構預設值:

let [a = 1] = ;

console.log(a); //1

let [b = 2] = [undefined];

console.log(b); //2

let [c = 3] = [4];

console.log(c); //4

解構變數賦值:

let [d = 1, e = d] = [5];

console.log(d); //5

console.log(e); //5

物件解構:

let = ;

console.log(football); //"shoot"

console.log(basketball); //"dunk"

結構失敗:

let = ;

console.log(baseball); //undefined

物件解構完整寫法:

let = ;

console.log(pingpong); //"shoot"

復合解構:

let } = };

console.log(g); //1

console.log(h); //2

字串解構:

const [i, j, k] = 'abc';

console.log(i); //'a'

console.log(j); //'b'

console.log(k); //'c'

let = 'kkkkk';

console.log(len); //5

函式內解構應用:

function arraytest([a, b, c])

arraytest([1, 2, 3]); //6

function objtest()

objtest(); //4

常用的字串拓展:

for-of迴圈:

let a = 'abcde';

for(let i of a)

模板字串:

let dd = 'amazing';

document.body.innerhtml = `string template test $

p>

div>

`; //

string template test amazing

常用的陣列拓展:

拓展運算子:

console.log(...['x', 'y', 'z']); //'x'

'y''z'

let a = ;

a.push(...[1, 2, 3]);

console.log(a); //[1,2,3]

function test(x, y)

test(...[1, 2, 3]); //3

let b = [1,2,3];

let c = [...b];

console.log(c); //[1,2,3]

console.log([...[1,2],...[3,4],...[5,6]]); //[1,2,3,4,5,6]

array.from方法(將類陣列轉換為陣列):

function fromtest()

fromtest('a','b','c'); //['a','b','c']

常用的物件拓展:

物件簡潔表示式:

let a = '******';

let b = ;

console.log(b); //

let obj =

}obj.fun(); //'******'

let obj1 =

}console.log(obj1.abc); //1

obj1.fun();

object.assign:

let target = ;

let source1 = ;

let source2 = ;

object.assign(target, source1, source2);

console.log(target); //

object.assign為淺拷貝:

let obj2 = };

let obj3 = object.assign({}, obj2);

obj2.a = 2;

obj2.b.c = 3;

console.log(obj3); //}

常用的函式拓展:

函式預設值:

function

defaultvalue

(x = 0, y = 0)

defaultvalue(); //0

defaultvalue(1); //1

defaultvalue(1, 2); //3

rest引數:

function

resttest

(...values)

resttest(1, 2, 3, 4); //[1,2,3,4]

箭頭函式:

var arrow = (x, y) => x + y;

console.log(arrow(1, 2)); //3

var arrow2 = () => ;

console.log(arrow2()); //undefined

var arrow3 = () => ();

console.log(arrow3()); //

//箭頭函式返回物件需要加圓括號

//箭頭函式的this會保持不變

var a = 1;

function

fun() , 100);

settimeout(function

() ,100);

}fun.call();

set和和map是新的資料結構,常用的情景是陣列去重。

陣列去重:

let a = new set();

[1, 2, 3, 3, 4, 5, 6, 1].foreach(i => a.add(i));

console.log(array.from(a)); //[1,2,3,4,5,6]

let b = new map();

b.set('a', 1);

b.set('b', 2);

console.log(b); //map(2)

let c = ;

b.set(c, 3);

console.log(b.get(c)); //3

新增了類的支援,統一了繼承的寫法。

類的基本結構:

class

a getvalue()

}let a = new a(1, 2);

a.getvalue(); //3

let aa = new a(2, 2);

aa.getvalue(); //4

a.x = 5;

a.getvalue(); //7

aa.getvalue(); //4

類的繼承:

class

bextends

a getothervalue()

}let b = new b(1,2);

b.getvalue(); //3

b.getothervalue(); //-1

好了,es6常用的一些方法已經總結完了,不過還有一些遺漏的:比如let和const,這個比較簡單;還有es6模組化機制,這個放在模組化的文章中來說;當然還有最重要的非同步操作promise、generator、async函式,這個也會單獨開一篇文章來說。

over…

es6 常用總結

let 和 const let 宣告塊級變數 const 宣告塊級常量,簡單資料型別不可以變,物件和函式可以變 因為const指向位址 1 在函式表示式中使用,只有乙個引數時,括號 可以忽略 2 沒有引數和多個引數時要加上 3 函式只有一行的簡潔函式體時,不用宣告return直接返回 塊級函式體需要...

es6常用知識點總結

1.定義變數的方式 let 1 沒有變數提公升 var具有變數提公升 即在當前作用域的最上面定義這個變數 但不賦值 例 console.log x var x 20 顯示undefined console.log m let m 100 報錯 2 let不可以重複宣告 例 var x 10 var ...

es6 知識總結 4

我們在程式設計過程中常常用到物件導向,物件建立例項這個方法,但是es6中給我封裝了乙個class類 下邊給大家介紹一下 萬事萬物皆物件 1.類是由物件 抽象 泛化出來的 2.物件是由類建立出來的 3.物件叫類的具體例項 function person name,age person.prototyp...