培訓ES6筆記

2021-08-14 13:39:46 字數 4915 閱讀 4499

1:剩餘操作符

let rest = function

(a,...rest)

rest(1,2,3,4,5);

//傳入引數

let print = function(a,b,c)

print([1,2,3]);

print(...[1,2,3]);

var m2 = math.max(...[8, 9, 4, 1]);

// 可以替代concat

var arr1 = [1, 3];

var arr2 = [3, 5];

var arr3 = arr1.concat(arr2);

var arr4 = [...arr1, ...arr2];

console.log(arr3,arr4);

//類陣列的轉陣列

function max(a,b,c)

max(1, 3, 4);

3:結構引數

let destruct = function

()destruct(); //wangwu 6

4:函式名字

var

desc = function

descname

(){}

console.log

(desc.name);

//descname

var desc123 = function

(){}

console.log

(desc123.name);

//desc123

1:array.from()將乙個陣列或者類陣列變成陣列,會複製乙份;原來陣列不變;

let ary=[1,2,3,4]

console.log(array.from(ary).push(5)) //5

console.log(ary) //[ 1, 2, 3, 4 ]

2:array.of()是為了將一組數值,轉換為陣列

console.log(array(3), array(3).length);        //[ <3 empty items> ] 3

console.log(array.of(3), array.of(3).length); //[ 3 ] 1

console.log(array.of(3,4,5), array.of(3,4,5).length); //[ 3, 4, 5 ] 3

3:array.prototype.copywithin(target, start = 0, end = this.length) 覆蓋目標的下標 開始的下標 結束的後乙個的下標

語法:

arr.copywithin(target)

arr.copywithin(target, start)

arr.copywithin(target, start, end)

arr.copywithin(目標索引, [源開始索引], [結束源索引])

(1)target

0 為基底的索引,複製序列到該位置。如果是負數,target 將從末尾開始計算。

如果 target 大於等於 arr.length,將會不發生拷貝。如果 target 在 start 之後,複製的序列將被修改以符合 arr.length。

(2)start

0 為基底的索引,開始複製元素的起始位置。如果是負數,start 將從末尾開始計算。

如果 start 被忽略,copywithin 將會從0開始複製。

(3)end

0 為基底的索引,開始複製元素的結束位置。copywithin 將會拷貝到該位置,但不包括 end 這個位置的元素。如果是負數, end 將從末尾開始計算。

如果 end 被忽略,copywithin 將會複製到 arr.length。

複製start(包括start),end(不包括end)之間的所有元素,覆蓋target;形成新的陣列

var ary=['a','b','c','d','e','f']

console.log(ary.copywithin(0, 1, 2)) //[ 'b', 'b', 'c', 'd', 'e', 'f' ]

console.log(ary) //[ 'b', 'b', 'c', 'd', 'e', 'f' ]

console.log(ary.copywithin(1, 2, 3)) //[ 'b', 'c', 'c', 'd', 'e', 'f' ]

console.log(ary.copywithin(1, 2, 4)) //[ 'b', 'c', 'd', 'd', 'e', 'f' ]

4:find()返回符合測試條件的第乙個陣列元素,如果沒有符合條件的則返回 undefined。

findindex() 方法返回傳入乙個測試條件(函式)符合條件的陣列第乙個元素位置。

findindex() 方法為陣列中的每個元素都呼叫一次函式執行:

當陣列中的元素在測試條件時返回 true 時, findindex() 返回符合條件的元素的索引位置,之後的值不會再呼叫執行函式。

如果沒有符合條件的元素返回 -1

注意: findindex() 對於空陣列,函式是不會執行的。

注意: findindex() 並沒有改變陣列的原始值。

let arr = ['a', 'b' ,'c', 'd', 'e', 'f'];

let find = arr.find((item, index, arr) => );

letfindindex = arr.findindex

((item, index, arr) => );

console.log

(find, findindex); //c 2

5:

就是填充陣列的意思 會更改原陣列 array.prototype.fill(value, start, end = this.length);

array.fill(value, start, end)
引數 描述

value 必需。填充的值。

start 可選。開始填充位置。包括這個位置

end 可選。停止填充位置 (預設為 array.length),不包括這個位置

fruits.fill("runoob");

console.log(fruits) //[ 'runoob', 'runoob', 'runoob', 'runoob' ]

let arr = [1, 2, 3, 4, 5, 6];

arr.fill('a', 1, 2);

console.log(arr); //[ 1, 'a', 3, 4, 5, 6 ]

1 物件字面量

如果你想在物件裡新增跟變數名一樣的屬性,並且屬性的值就是變數表示的值就可以直接在物件裡加上這些屬性

let name = 'zfpx';

let age = 8;

let getname = function

()let person =

person.getname(); //zfpx

2:對比2個值是否相等

console.log(object.is(nan,nan));  //true
3:object.assign(obj,nameobj,ageobj);

把多個物件的屬性複製到乙個物件中,第乙個引數是複製的物件,從第二個引數開始往後,都是複製的源物件

var nameobj = ;

var ageobj = ;

var obj = {};

object.assign(obj,nameobj,ageobj);

console.log(obj); //

//轉殖物件

function

clone

(obj) , obj);

}

4:object.getprototypeof()將乙個指定的物件的原型設定為另乙個物件或者null

var obj1  = ;

var obj2 = ;

var obj = {};

object.setprototypeof(obj,obj1);

console.log(obj.name); //zfpx1

console.log(object.getprototypeof(obj)); //

object.setprototypeof(obj,obj2);

console.log(obj.name); //zfpx1

console.log(object.getprototypeof(obj)); //

5:直接在物件表示式中設定prototype

var obj1  = ;

var obj3 =

console.

log(obj3.name); //zfpx1

console.

log(object.getprototypeof(obj3)); //

6:通過super可以呼叫prototype上的屬性或方法

let person =

}let student =

}console.log(student.eat()); //milk bread

ES6筆記 物件

依據阮一峰教程摘取的自己可能用到的特性 屬性的簡潔表示法 function f x,y 等同於 function f x,y f 1,2 object方法簡寫 const o 等同於 const o object.assign 可列舉物件的合併 同名屬性的合併 淺拷貝const target con...

ES6筆記(解構)

1 解構 解構通俗點說,就是通過一種特定格式,快捷的讀取物件 陣列中的資料的方法 基本用法 如果右邊是物件,左邊也要用物件的格式,解構出來就是變數了,再也不是屬性了 解構物件 var ouser es5讀資料的方法 console.log ouser name ouser age aaa 20 le...

ES6筆記 函式

函式預設引數 在es5中,我們給函式傳引數,然後在函式體內設定預設值,如下面這種方式。function a num,callback callback num num a es5 49,不傳參輸出預設值而在es6中,我們使用新的預設值寫法 function a num 6,callback func...