ES 6の新しい特性を詳しく紹介します.
3164 ワード
一、var let constの違い letとconstは、変数の昇格がないと宣言しています.この変数を使うには、変数の定義後に使う必要があります. letとconstは変数を繰り返し宣言できません.繰り返し宣言するとエラーが発生します. letとconstでグローバル宣言変数はwindowに属性を増加させません. letとconstはコードブロックに現れ、コードブロック(字面量宣言オブジェクトを除く)をブロックレベルの作用領域にし、一時的なデッドタイム が現れる.
二、インポート/エクスポートモジュール(ファイル/コンポーネント)の作成
import/export
三、new set(配列デ重量)
九、()=>{}矢印関数
矢印関数のthisとは、定義時に存在するオブジェクトを指し、矢印関数の中にargmentsオブジェクトがありません.
十、配列新規方法
Object.assign()は対象の合併に使います.
二、インポート/エクスポートモジュール(ファイル/コンポーネント)の作成
import/export
三、new set(配列デ重量)
//
var arr = [1, 2, 1, 3, 4];
var arr2 = [...new Set(arr)];
console.log(arr2) // [1,2,3,4]
var arr3 = Array.from(new Set(arr))
console.log(arr3); // [1,2,3,4]
//
var str = [...new Set('ababbc')].join('')
console.log(str); // abc
四、Symbol(一意の値)var age = Symbol();
var obj1 = {
[age]: 18,
name: "wangcai"
}
console.log(obj1[age]); // 18
五、…ary(展開演算子、残りの演算子) var ary = [1, 2, 3]
console.log(...ary); // 1 2 3
let a = [1, 2, 3];
let [b, ...c] = a;
console.log(b) // 1
console.log(c) // [2,3]
六、{}テンプレート文字列var hello = 'good day'
var world = `please look "${hello}", please enjoy it`
console.info(world) // please look "good day", please enjoy it
七、分配価値//---------
let arr5 = [0, 1, 2]
let [e, f, g] = arr5
console.log(e) // 0
console.log(f) // 1
console.log(g) // 2
//---------
let { name, age2 } = { name: "lht", age2: 22 }
console.log(name) // 'lht'
console.log(age2) // 22
八、for ofサイクル九、()=>{}矢印関数
矢印関数のthisとは、定義時に存在するオブジェクトを指し、矢印関数の中にargmentsオブジェクトがありません.
十、配列新規方法
flat: ,
filter :
findIndex :
every : true
some : true
十一、対象新規方法Object.assign()は対象の合併に使います.
const target = { a: 1 };
const source1 = { b: 2 };
const source2 = { c: 3 };
Object.assign(target, source1, source2);
target // {a:1, b:2, c:3}
Object.values()は、列挙可能な属性の値を返します. var obj = {10: 'a',1: 'b', 2: 'c'};
console.log(Object.values(obj)); // ['b', 'c', 'a']
Object.keys()は、オブジェクトのエニュメレート・属性と方法を含む配列注を返します.入力されたものが文字列または配列であれば、インデックス値を返します.var obj = {'name': 'xiaoming', 'age': 18};
console.log(Object.keys(obj)); // ["name","age"]
Object.create()作成対象// new Object()
var a = { rep : 'apple' }
var b = new Object(a)
console.log(b) // {rep: "apple"}
console.log(b.__proto__) // {}
console.log(b.rep) // {rep: "apple"}
// Object.create()
var a = { rep: 'apple' }
var b = Object.create(a)
console.log(b) // {}
console.log(b.__proto__) // {rep: "apple"}
console.log(b.rep) // {rep: "apple"}
注:new Object()は、構造関数によりオブジェクトを作成し、追加された属性は自身のインスタンスである.Object.create()メソッドで作成したオブジェクトは、属性がプロトタイプの下にあり、直接b.repにアクセスすることもできます.この値はb自身ではなく、プロトタイプのプロトを通じてbにアクセスする値です.