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...