Node 2 ES6 新增語法特性

2021-10-07 17:56:10 字數 4639 閱讀 9856

var 關鍵字

// a.存在變數提公升

console.

log(score)

;var score =99;

// b.函式作用域

for(

var i=

0;i<

10;i++

)console.

log(i)

;// c.可重新宣告

var score =98;

console.

log(score)

;// d.可重新賦值

score =97;

console.

log(score)

;

let 關鍵字
// a.無變數提公升

console.

log(score)

;let score =99;

// b.塊級作用域

for(

let i=

0;i<

10;i++

)console.

log(i)

;// 報錯

// c.不可重新宣告

let score =98;

// 報錯

// d.可重新賦值

score =97;

console.

log(score)

;

const 關鍵字
// #宣告必須賦值(常量一般全部大寫)

constpi;

// 報錯

console.

log(pi)

;// a.無變數提公升

console.

log(pi)

;// 報錯

constpi=

3.1415926

;// b.塊級作用域

console.

log(

shape);

// 報錯

// c.不能重複宣告

constpi=

3.15

;// 報錯

// d.不可重新賦值pi=

4;// 報錯

console.

log(pi)

;

、物件解構賦值
物件解構賦值:將物件屬性的值賦給變數;

let』s coding:
let obj =

// es5:解構賦值

let name = obj.name ;

let age = obj.age ;

let *** = obj.*** ;

console.

log(name,age,***)

;// es6:解構賦值

// 1.自定義賦值

let= obj;

console.

log(name1,age1,***1)

;// 2.全寫

let= obj;

console.

log(name,age,***)

;// 3.簡寫(變數名需與物件屬性名一致)

let= obj;

console.

log(name,age,***)

;// 4.預設值

let= obj;

console.

log(name,age,***,scories)

;// 5.預設值在編譯時就賦值好了,在執行時會將物件的屬性值重新賦給變數

let= obj;

console.

log(age)

;// 18

// 補充:...another 表示出了name 屬性之外的所有屬性封存在另乙個物件another中

let= obj;

console.

log(another)

;

陣列解構賦值
陣列解構賦值:將陣列元素值依次賦值給變數;

let』s coding:
let array =[1

,2,3

,4];

// es5:陣列解構賦值

let one = array[0]

;let two = array[1]

;let three = array[2]

;let four = array[3]

; console.

log(one,two,three,four)

;// es6:陣列解構賦值

// 1.依次賦值

let= array ;

console.

log(one,two,three,four)

;// 2.多餘變數

let= array;

console.

log(one,two,three,four,five)

;// five:undefined

// 3.預設值

let= array;

console.

log(one,two,three,four,five)

;

解構賦值&&函式

let』s coding:

// es5:

// 宣告函式+多個形參

function

fun(name,age,***)

fun(

'zs',18

,'男');

// 物件引數

function

fun(obj)

fun();

// es6:

function

fun(

)fun()

;

let name 	=

'zs'

;let age =18;

let *** =

'男';

// es5:物件成員簡寫

let obj =};

console.

log(obj)

;// es6:物件成員簡寫

let oo =

};

新增模板字串:``,保留原字串格式;

let』s coding:
// es5:

let str = "

onetwo three four,

five six seven;

";// 報錯

// es6:

let author =

"八";

let str =

` one

$two three four,

five six seven;

`;

console.

log(str)

;// 函式

function

fun();

console.

log(

`數字:$`

);

展開運算子:...

物件展開運算子

let』s coding:

let song =

let business =

let people =

console.

log(people)

;

陣列展開運算子

let』s coding:

// 陣列拼接

let index =[1

,2,3

];let score =

[...array,60,

70,80]

; console.

log(score)

;let sum =

[...index ,

...score]

; console.

log(sum)

;// 求最值

let max = math.max.

(math,sum)

; console.

log(max)

; max = math.

max(

...sum)

; console.

log(max)

;

新增資料型別 set :同陣列存放資料,但不存放重複元素;

暫無

結語:今日事,今日畢;明日事,何其多。

贈詩:
明日復明日,

明日何其多。

我生待明日,

萬事成蹉跎。

世人若被明日累,

春去秋來老將至。

朝看水東流,

暮看日西墜。

百年明日能幾何?

請君聽我《明日歌》;

ES6新增特性

let 1.let宣告的變數不會掛在window中,不會像var宣告的變數一樣造成全域性變數的汙染 2.新增了乙個塊級作用域 以前只有函式作用域,全域性作用域 3.let是不允許重複宣告 4.let不會有宣告提前 var num 15 全域性變數 console.log num 15 console...

ES6新增特性

1 變數定義 const let 2 解構 3 箭頭函式 核心 this的指向 4 模板字面量 5 spread rest 物件展開 6 子符串 陣列新增方法 console.log str.includes de true,字串是否包含de console.log str.endswith ef ...

ES6新增語法

es6中新增的宣告變數的方式 let關鍵字用來宣告變數,類似於var,但是使用let宣告的變數有以下幾點特性 1.不存在變數提公升 2.暫時性死區 3.不允許重複宣告,同一作用域內只能宣告一次 4.新增的塊級作用域 for 作用域a 迴圈的應用 const關鍵字用來宣告常量,其使用規則除了宣告之後不...