转载连接: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