let和const
一、let增長了塊級做用域。node
「Tempory Death Zone TDZ」暫時性死區,在變量聲明前,都屬於變量死區,調用未聲明變量會報錯 。
二、const聲明變量,聲明後變量不能改變。跟let同樣,聲明的變量只在塊級做用域內有效。瀏覽器
三、跨模塊常量code
// constants.js 模塊 export const A = 1; export const B = 3; export const C = 4; // test1.js 模塊 import * as constants from './constants'; console.log(constants.A); console.log(constants.B); // test2.js 模塊 import {A, B} from './constants'; console.log(A); console.log(B);
四、全局對象屬性對象
全局對象是最頂層對象,在瀏覽器指window對象,在nodejs是global對象。在JS中,全部的變量都是全局對象的屬性。 在ES6中,var、function命令聲明的全局變量屬於全局對象屬性; let、const、class命令聲明的全局變量,不屬於全局對象的屬性。