ES6的宣告 let,const,var區別

2021-10-04 07:36:06 字數 828 閱讀 2360

a // 報錯 referenceerror: a is not defined

let 是在**塊內有效,var 是在全域性範圍內有效

a // referenceerror: a is not defined

b // 1

let a = 1;

let a = 2;

var b = 3;

var b = 4;

a // identifier 'a' has already been declared

b // 4

console.log(a);  //referenceerror: a is not defined

console.log(b); //undefined

var b = "banana";

變數 b 用 var 宣告存在變數提公升,所以當指令碼開始執行的時候,b 已經存在了,但是還沒有賦值,所以會輸出 undefined。

變數 a 用 let 宣告不存在變數提公升,在宣告變數 a 之前,a 不存在,所以會報錯。

const pi = "3.1415926";

pi // 3.1415926

const my_age; // syntaxerror: missing initializer in const declaration

const宣告乙個物件時,是物件的引用不可以再更改,而物件內部屬性及屬性的值可以改變。

es6的常量的宣告

在 es6 中里也可以使用 const 語法進行宣告。使用 const 宣告的變數會被認為是常量 constant 意味著它們的值在被設定完成後就不能再被改變。正因為如此,所有的 const 變數都需要在宣告時進行初始化,示例如下 有效的常量 const maxitems 30 語法錯誤 未進行初始...

Es6之變數宣告

es6變數宣告let 和 canst,let 所宣告的變數具有塊級作用域,且宣告的變數不會前置,而const宣告的是不變了常量 let test test let 所宣告的變數只在塊級作用域內有效,而var就不同 for var i 1 i 5 i console.log str 輸出hello.c...

ES6 變數宣告方式

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