ES6 魅力片之 宣告方式

2021-08-28 08:07:58 字數 1352 閱讀 4793

那麼為什麼es6還新增了const 、let兩種宣告方式呢…

可以重複宣告;

無法限制修改,(有的常量是不需要改變的,但是var不能滿足);

沒有快級作用域;

**變數可以被重複宣告是其他語言所不接受的,(雖然我也沒用過幾種語言,但是相信我,這是真的…)

**無法限制修改,簡直非人類嘛!!!人家**中還不能有個固定不變、唯一存在的數學常量嗎

**沒有塊級作用域,這就讓人寢食難安了,我在我自己的函式裡邊宣告的變數,你再外面都拿得到,誰還睡得著

以上種種…新的宣告方式誕生了

特點1:不能重複宣告

使用var:

var a=1;

var a =2;

console.

log(a)

//2

使用var,變數重新宣告,覆蓋原有

使用let:

let a=1;

let a =2;

console.

log(a)

uncaught syntaxerror: identifier 'a' has already been declared

**瀏覽器會很親切的提示你:語法錯誤:a已經被宣告過啦

特點2:塊級作用域

使用var:

console.

log(a)

//1

上邊也說了,var不規矩,宣告了就是全域性的,想拿就拿

使用let:

console.

log(a)

//uncaught referenceerror: a is not defined

包裹在語法塊中的變數在外部都是無法訪問到的,例如函式中的,{}中的

特點3:變數可以重新賦值

這裡就不舉例了,字面意思,定義了的變數可以被重新賦值,這一點跟var沒有什麼區別。但是跟const 還是有區別

特點:不能重複宣告、 塊級作用域

與let唯一不同的就是:cosnt一旦定義就不能重新賦值了

例如:

const a =1;

a =2;

console.

log(a)

uncaught typeerror: assignment to constant variable.

瀏覽器會提示你:語法錯誤,不能賦值給常量

如上所示,可見js正在步入正統,未來越來越好…越來越強大,嘖嘖嘖!!!

ES6 變數宣告方式

var,function,let,const,import,class1.let只在所在的 塊中有效 2.以前我們需要用iife解決的問題 3.不存在變數宣告提公升 4.暫時性死區tdz 1.let只在所在的 塊中有效 2.以前我們需要用iife解決的問題 3.不存在變數宣告提公升 console....

ES6的變數宣告方式

保留了var和function。新增加了let const class和import。而且,let const class宣告的全域性變數再也不會和全域性物件的屬性掛鉤了。let 1 let只在所在的 塊中有效 for var i 0 i 10 i console.log i 10 for let ...

ES6常量宣告方式 const

今天就來聊聊es6常量的宣告方式。在es5中定義乙個常量 object.defineproperty window,pi console.log pi 5console.log pi 在es6中定義乙個常量 典型報錯 const a 5a 6 報錯,常量不可以改變 const b 報錯,常量必須賦初...