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...