天天看點

es6基礎知識總結(附加)

附加:

字元串擴充:

1. includes(str) : 判斷是否包含指定的字元串

2. startsWith(str) : 判斷是否以指定字元串開頭

3. endsWith(str) : 判斷是否以指定字元串結尾

4. repeat(count) : 重複指定次數

1    let str = 'abcdefg';
 2     console.log(str.includes('a'));//true
 3     console.log(str.includes('h'));//false
 4 
 5     //startsWith(str) : 判斷是否以指定字元串開頭
 6     console.log(str.startsWith('a'));//true
 7     console.log(str.startsWith('d'));//false
 8     //endsWith(str) : 判斷是否以指定字元串結尾
 9     console.log(str.endsWith('g'));//true
10     console.log(str.endsWith('d'));//false
11     //repeat(count) : 重複指定次數a
12     console.log(str.repeat(5));      

View Code

數值擴充

1. 二進制與八進制數值表示法: 二進制用0b, 八進制用0o

2. Number.isFinite(i) : 判斷是否是有限大的數

3. Number.isNaN(i) : 判斷是否是NaN

4. Number.isInteger(i) : 判斷是否是整數

5. Number.parseInt(str) : 将字元串轉換為對應的數值

6. Math.trunc(i) : 直接去除小數部分

1  console.log(0b1010);//10
 2     console.log(0o56);//46
 3     //Number.isFinite(i) : 判斷是否是有限大的數
 4     console.log(Number.isFinite(NaN));//false
 5     console.log(Number.isFinite(5));//true
 6     //Number.isNaN(i) : 判斷是否是NaN
 7     console.log(Number.isNaN(NaN));//true
 8     console.log(Number.isNaN(5));//falsse
 9 
10     //Number.isInteger(i) : 判斷是否是整數
11     console.log(Number.isInteger(5.23));//false
12     console.log(Number.isInteger(5.0));//true
13     console.log(Number.isInteger(5));//true
14 
15     //Number.parseInt(str) : 将字元串轉換為對應的數值
16     console.log(Number.parseInt('123abc'));//123
17     console.log(Number.parseInt('a123abc'));//NaN
18 
19     // Math.trunc(i) : 直接去除小數部分
20     console.log(Math.trunc(13.123));//13      

View Code

數組擴充

1. Array.from(v) : 将僞數組對象或可周遊對象轉換為真數組

2. Array.of(v1, v2, v3) : 将一系列值轉換成數組

3. find(function(value, index, arr){return true}) : 找出第一個滿足條件傳回true的元素

4. findIndex(function(value, index, arr){return true}) : 找出第一個滿足條件傳回true的元素下标

1  //Array.from(v) : 将僞數組對象或可周遊對象轉換為真數組
 2     let btns = document.getElementsByTagName('button');
 3     console.log(btns.length);//3
 4     Array.from(btns).forEach(function (item, index) {
 5         console.log(item, index);
 6     });
 7     //Array.of(v1, v2, v3) : 将一系列值轉換成數組
 8     let arr = Array.of(1, 'abc', true);
 9     console.log(arr);
10     //find(function(value, index, arr){return true}) : 找出第一個滿足條件傳回true的元素
11     let arr1 = [1,3,5,2,6,7,3];
12     let result = arr1.find(function (item, index) {
13         return item >3
14     });
15     console.log(result);//5
16     //findIndex(function(value, index, arr){return true}) : 找出第一個滿足條件傳回true的元素下标
17     let result1 = arr1.findIndex(function (item, index) {
18         return item >3
19     });
20     console.log(result1);//2      

View Code

對象擴充

1. Object.is(v1, v2)

* 判斷2個資料是否完全相等

2. Object.assign(target, source1, source2..)

* 将源對象的屬性複制到目标對象上

3. 直接操作 __proto__ 屬性

let obj2 = {};

obj2.__proto__ = obj1;

1   console.log(Object.is('abc', 'abc'));//true
 2     console.log(NaN == NaN);//false
 3     console.log(Object.is(NaN, NaN));//true
 4 
 5     console.log(0 == -0);//true
 6     console.log(Object.is(0, -0));//false
 7 
 8     //Object.assign(target, source1, source2..)
 9     let obj = {name : 'kobe', age : 39, c: {d: 2}};
10     let obj1 = {};
11     Object.assign(obj1, obj);
12     console.log(obj1, obj1.name);
13 
14     //直接操作 __proto__ 屬性
15     let obj3 = {name : 'anverson', age : 41};
16     let obj4 = {};
17     obj4.__proto__ = obj3;
18     console.log(obj4, obj4.name, obj4.age);      

View Code

Set和Map資料結構

1. Set容器 : 無序不可重複的多個value的集合體

* Set()

* Set(array)

* add(value)

* delete(value)

* has(value)

* clear()

* size

2. Map容器 : 無序的 key不重複的多個key-value的集合體

* Map()

* Map(array)

* set(key, value)//添加

* get(key)

* delete(key)

* has(key)

* clear()

* size

1  let set = new Set([1,2,3,4,3,2,1,6]);
 2     console.log(set);
 3     set.add('abc');
 4     console.log(set, set.size);
 5     //delete(value)
 6     set.delete(2);
 7     console.log(set);
 8     //has(value)
 9     console.log(set.has(2));//false
10     console.log(set.has(1));//true
11     //clear()
12     set.clear();
13     console.log(set);
14 
15     let map = new Map([['abc', 12],[25, 'age']]);
16     console.log(map);
17     map.set('男', '性别');
18     console.log(map);
19     console.log(map.get(25));//age
20     //delete(key)
21     map.delete('男');
22     console.log(map);
23     console.log(map.has('男'));//false
24     console.log(map.has('abc'));//true
25     map.clear();
26     console.log(map);      

View Code

for_of循環

for(let value of target){}循環周遊

1. 周遊數組

2. 周遊Set

3. 周遊Map

4. 周遊字元串

5. 周遊僞數組

1   let arr = [1,2,3,4,5];
 2     for(let num of arr){
 3         console.log(num);
 4     }
 5     let set = new Set([1,2,3,4,5]);
 6     for(let num of set){
 7         console.log(num);
 8     }
 9     let str = 'abcdefg';
10     for(let num of str){
11         console.log(num);
12     }
13     let btns = document.getElementsByTagName('button');
14     for(let btn of btns){
15         console.log(btn.innerHTML);
16     }