JS高階(8)ES6新增語法

2021-10-02 17:53:32 字數 1959 閱讀 9348

1.1.let生命的變數旨在所處於的塊級有效

舉個例子:

if(true)

console.log(a) // a is not defined

1.2.不存在變數提公升
舉個例子:

console.log(a) // a is not defined

let a = 10

1.3.暫時性死區
-- 利用let宣告的變數會繫結在這個塊級作用域,不會受到外界影響

var num = 10

if(true)

宣告常量,常量就是值(記憶體位址)不能變化的量
1.具有塊級作用域

2.宣告常量時必須賦值

const pi = 3.14

3.常量賦值後,值不能修改

const pi = 3.14

pi = 5 //會報錯

const arr = [1,2]

arr[0] = 3

arr[1] = 4

console.log(arr) [3,4]

arr = [6,7] //報錯,(直接修改為新陣列會報錯)

-- const宣告的變數是乙個常量

-- 既然是常量不能重新賦值

基本資料型別,不能重新賦值

複雜資料型別,不能更改位址

-- 宣告const必須給值

var

letconst

函式級作用域

塊級作用域

塊級作用域

變數提公升

不存在變數提公升

不存在變數提公升

值可改變

值可改變

值不可改變

const使用建議:儲存的資料不需要變化

1.函式的定義

2.pi

3.數學一定恆定不變的值

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

4.1.陣列解構

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

console.log(a,b,c) // 1,2,3

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

4.2.物件解構
let person = 

let = person

console.log(name,age) // daiwang 17

-- 還可以重新命名 let = person

console.log(myname,myage) //daiwang 17

-- 利用解構賦值能夠更方便的去取物件中的屬性跟方法

() => {}

const fn = () =>{}

1.函式體只有一句**,且**的執行結果就是返回值,額可以省略大括號

const sum = (num1,num2) => num1+num2

2.如果形參只有乙個,可以省略小括號

const fn = n => n

箭頭函式不繫結this關鍵字,箭頭函式中的this,指向的是函式定義位置的上下文this

const obj =

function fm()

}const resfn = fn.call(obj

resfn()

注意:

··箭頭函式中不繫結this,箭頭函式中的this指向的是它所定義的位置,箭頭函式的作用域指向誰,它就指向誰。

··箭頭函式的優點在於解決了this執行環境所造成的一些問題,比如:解決了匿名this指向的問題(匿名函式的執行環境是具有侷限性的,包括settimeout和setinterval中使用this所造成的問題。

var age = 100

var obj =

}obj.say() //100

物件沒有作用域,所以箭頭函式雖然在物件中被定義,但是this指向全域性作用域。

js,新增ES6 語法

一,生名變數 1.let 可以更加規範的編寫 具有全域性性 let a 100let b 200function fun fun 2.const 定義後的變數,將會無法更改 const a 100 console.log a 100 a 200 console.log a 跑錯 二,賦值1,傳統賦值...

ES6新增語法

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

ES6新增語法

逆戰es6新語法概覽 語法箭頭函式 this es6中可以使用 作為函式表達形式,極簡風格,引數 函式體。var foo function 等價於 let foo 1 let nums 1,2,3,5,10 let fives nums.foreach v console.log fives 5,1...