普歌 飛靈團隊 ES6總結(二)

2021-10-23 15:06:14 字數 1931 閱讀 7883

es6中新增的用於宣告變數的關鍵字。

if (true) 

console.log(a); //a is not definded

注意:使用let關鍵字宣告的變數才具有塊級作用域,使用var宣告的變數不具備塊級作用域特性。

console.log(a);  //a is not definded

let a = 20;

var tmp = 123;

if(true)

if (true) 

console.log(a); //a is not definded

const pi;  //missing initializer in const declaration
const pi = 3.14;

pi = 100; //assignment to constant variable

const ary = [100,300];

arr[0] = 'a';

arr[1] = 'b';

console.log(ary); //['a','b']

ary = ['a','b']; //assignment to constant variable

使用var宣告的變數,其作用域為該語句所在的函式內,且存在變數提公升現象。使用let宣告的變數,其作用域為該語句所在的**塊內,不存在變數提公升。使用const宣告的是常量,在後面出現的**中,不能再修改該常量的值。

varlet

const

函式級作用域

塊級作用域

塊級作用域

值可更改

不存在變數提公升

不存在變數提公升

值可更改

值可更改

值不可更改

es6中允許從陣列中提取值按照對應位置對變數賦值物件也可以實現解構。

陣列解構

let [a,b,c] = [1,2,3];

console.log(a);

console.log(b);

console.log(c);

如果解構不成功,變數的值為undefined

let [foo] = ;

let [bar,foo] = [1];

物件解構

let person = ;

let = person;

console.log(name); //zhangsan

console.log(age); //20

let  = person;  //myname myage 屬於別名

console.log(myname); //zhangsan

console.log(myage); //20

剩餘引數語法允許我們將乙個不定數量的引數表示為乙個陣列。

function sum (first,...args)  

sum[10,20,30];

剩餘引數和解構配合使用

let students = ['zhangsan','lihua','wangwu'];

let [s1,...s2] = students;

console.log(s1); //'zhangsan'

console.log(s2); // ['lihua','wangwu']

普歌 飛靈團隊 ES9

先讚後看,養成習慣 rest 引數與 spread 擴充套件運算子在 es6 中已經引入,不過 es6 中只針對於陣列,在 es9 中為物件提供了像陣列一樣的 rest 引數和擴充套件運算子 rest 引數 物件合併 const skillone const skilltwo const skill...

普歌 飛靈團隊 Ajax基礎symbol

symbol特點 symbol 的值是唯一的,用來 解決命名衝突的問題 值不能與其他資料進行運算 symbol 定義 的 物件屬 性 不能 使 用 for in 循 環遍 歷 但 是可 以 使 用 reflect.ownkeys 來獲取物件的所有鍵名 建立symbol let s1 symbol c...

普歌 飛靈團隊 Ajax基礎class

知識點 class 宣告類 constructor 定義建構函式初始化 extends 繼承父類 super 呼叫父級構造方法 static 定義靜態方法和屬性 父類方法可以重寫 父類 class phone 物件方法 call 子類 class smartphone extends phone 子...