ES6的語法及用法

2021-10-14 16:35:53 字數 2998 閱讀 3993

1.結構賦值

解構賦值主要是針對於陣列和物件的:真實專案中,一般常用於把從伺服器獲取的json資料進行快速解構,賦值給對應的變數,幫助我們快速拿到對應的結果

let arr = [100, 200, 300, 400,500];

let [a, b, c, d] = arr;

console.log(a, b, c, d); // 100 200 300 400 500

let arr = [100, 200, 300, 400,500];

let [a, , , , b] = arr;

console.log(a, b); //100 500

let arr = [100, 200, 300, 400,500];

let [a] = arr;

console.log(a); //100;

let arr = [100, 200, 300, 400,500];

let [a, ...b] = arr;

console.log(a); //100

console.log(b); //[200, 300, 400, 500];

let arr = [100, 200, 300, 400,500];

let [a] = arr.reverse();

console.log(a); //500

// 賦值預設值

let ary = [100];

let [a, b = 0] = arr;

console.log(a, b); //100 0

// a/b互換值

l et a = 10,

b = 20;

let c = a;

a = b;

b = c;

console.log(a, b);//20 10

a = a + b;

b = a - b;

a = a - b;

console.log(a, b);//10 20

[b, a] = [a, b];

console.log(a, b); //20 10

//物件解構賦值,建立的變數名需要和屬性名保持一致

let obj = ;

//let = obj;

console.log(id, name, ***); // 1 "張三丰" undefined

2.運算子

let arr = [10, 20, 30, 40];

擴充套件運算子 let […arr]=[10,20,30,40];

剩餘運算子 函式的形參賦值上

展開運算子 展開陣列或者物件中的每一項

let fn = (n, ...m) => ;

fn(10, 20, 30, 40);

// 陣列轉殖 (展開運算子)

let obj={}

let arr1 = [10, 20, 30];

let arr2 = [...arr1];

fn.call(obj,...arr1);

// fn(10,20,30)

3.陣列新增方法

// array.from() 把乙個類陣列集合(set集合)轉換為陣列

// array.of() 把一組值轉換為陣列

// es5中array常用的乙個方法:array.isarray()驗證是否為陣列

// array.prototype新增的方法

// new array(3).fill(null) 建立集合長度為3,每一項都填充為null

// includes

// flat() 陣列扁平化

// entries(),keys(),values()

// find / findindex =>陣列的遍歷迭代方法 foreach/map/filter/find/some/every/reduce...

// object.assign([obj1],[obj2]) 合併物件,把[obj2]的資訊替換[obj1]

// object.create([obj]) 建立乙個空物件,讓其__proto__指向[obj]

// object.defineproperty([obj],[key],[options]) 監聽乙個物件某個屬性的處理操作

// object.entries([obj]) 獲取乙個物件所有的鍵值對

// object.keys([obj])

// object.values([obj])

// object.freeze([obj]) 凍結物件,讓其所有操作都不能進行

// object.is([value1],[value2]) 比較兩個值是否相等,比==/===更準確

// const建立的變數不能更改變數的指標指向,但是對於物件來說可以操作其堆記憶體中的資訊

// const obj = ;

// obj.id = 2;

// console.log(obj);//

4.new set用法

set資料結構中的每一項都是唯一的(類陣列)

let arr = array.from(new set([1, 1, 1, 2, 3, 2, 3, 4, 5, 3, 2, 1]));

console.log(arr);//1 2 3 4 5

5.map支援屬性名是物件

let n = ;

let obj = new map();

obj.set(n, 10);

es6中reduce的用法 Es6基礎語法

1 this this代表當前正在執行的物件 function fn fn window const obj new fn fn.call 2 箭頭函式 1 箭頭函式的this是在定義的時候就固定不變了 2 箭頭函式 沒有自己的this 3 箭頭函式 不能當類 構造器 使用 不可以 new 4 箭頭...

ES6語法 JS中 和 的區別及用法

js中 的用法是比較靈活的,它除了做邏輯運算常常會用!做型別判斷,可以用!與上物件來求得乙個布林值,1 可將變數轉換成boolean型別,null undefined和空字串取反都為false,其餘都為true。null true undefined true true 100 false abc ...

es6 基本語法

es6規定暫時性死區和let const語句不出現變數提公升,主要是為了減少執行時錯誤,防止在變數宣告前就使用這個變數,從而導致意料之外的行為。這樣的錯誤在 es5 是很常見的,現在有了這種規定,避免此類錯誤就很容易了。總之,暫時性死區的本質就是,只要一進入當前作用域,所要使用的變數就已經存在了,但...