轉載連接:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/es6-grammar-part-one/java
1、let命令c++
基本用法:ES6新增了let命令,用來聲明變量。用法與var相似,可是let命令只在代碼塊內有效es6
example: { let a=10;函數
var b=1;優化
}spa
a // ReferenceError:a is not defined設計
b:// 1接口
1.1 let不存在變量的提高:let不會像var那樣發生'變量提高'的現象,變量必定要在聲明後使用,不然會報錯(我理解的就是var 值因此不會報錯,是由於初始值就是undefined)ip
1.2 let不容許在相同的做用域內重複聲明同一個變量作用域
2、const命令
const也是用來聲明變量,可是聲明的是常量。一旦聲明,常量值就不能夠改變。用法跟其餘語言(java,c,c++)同樣
3、跨模塊常量
const命令聲明的常量只在當前的代碼塊有效,若是咱們想設置跨模塊常量,那就須要採用下面的寫法了
// first.js
export const a=1;
export const b=3;
export const c=4;
//second.js
import * as first from './first'
console.log(first.a); // 1
console.log(first.b); // 3
//third.js
import {a,b}from './first'
console.log(first.a); // 1
console.log(first.b); // 3
4、Module
4.1export命令:
模塊功能主要有兩個命令構成:export和import。export用於規定模塊的對外接口,import命令用於
輸入其餘模塊提供的功能
一個模塊就是一個獨立的文件。文件內部的東西,外面是沒法獲取的。若是你想你想讀取模塊的某個變量,就須要export出來改變量
example: //example.js
export var firstname='Jane';
export var lastname='zhou'
另外一種export的寫法
var firstname='jane';
var lastname='zhou'
export {firstname.lastname}; 建議用第二種寫法,一目瞭然。
export命令除了輸出變量外,還能夠輸出函數或者類(Class)
export function multiply (x,y){
return x*y;
}
注意:export 命令能夠出如今模塊的任何的位置,只要處於模塊的頂層就能夠。若是處於塊級做用
域,就會報錯(import)命令也是如此。由於處於代碼塊之中就無法作靜態優化了,這樣違背了ES6
設計的初衷。
4.2 import命令:
使用export命令定義對外的接口,其餘js文件能夠經過import命令來加載這個模塊。
//main.js
import {firstname,lastname} from example.js