es6
宣告變數的方法:var、function、let、const、import、class;
let
和 const
const
的作用域與let
命令相同:只在宣告所在的塊級作用域內有效。
if (true)
max // uncaught referenceerror: max is not defined
const
命令宣告的常量也是不提公升,同樣存在暫時性死區,只能在宣告的位置後面使用。
if (true)
const
宣告的常量,也與let
一樣不可重複宣告。
var message = "hello!";
let age = 25;
// 以下兩行都會報錯
const message = "goodbye!";
const age = 30;
全域性變數獲取:
墊片庫system.global
模擬了這個提案,可以在所有環境拿到global:
// commonjs的寫法
require('system.global/shim')();
// es6模組的寫法
import shim from 'system.global/shim'; shim();
上面**可以保證各種環境裡面,global
物件都是存在的。
// commonjs的寫法
var global = require('system.global')();
// es6模組的寫法
import getglobal from 'system.global';
const global = getglobal();
上面**將頂層物件放入變數global
。 es6學習筆記 let和const
console.log b uncaught referenceerror a is not defined 在for迴圈中,迴圈語句部分是乙個作用域,內部又是乙個作用域 for let a 1 a 3 a 在let宣告變數完成前,對變數賦值會出錯es中模仿塊級作用域 function functi...
ES6學習筆記 let和const
今天開始讀阮一峰的 ecmascript 6 入門 在這裡記錄下閱讀過程中的要點,以便隨時查閱。頂層物件的屬性與全域性變數掛鉤,被認為是js最大的敗筆之一,es6開始,全域性變數將逐步與頂層物件脫鉤。為了保持相容性,一方面,var和function宣告的全域性變數,依舊是頂層物件的屬性 另一方面,l...
ES6 學習筆記 let和const
學習資料 ecmascript 6 入門 如果使用var,只有乙個全域性變數i var a for var i 0 i 10 i a 6 10var a for let i 0 i 10 i a 6 6設定迴圈變數的那部分是乙個父作用域,而迴圈體內部是乙個單獨的子作用域 for let i 0 i ...