ES6语法篇(其一)

转载链接:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/es6-grammar-part-one/

一、let命令

基本用法:ES6新增了let命令,用来声明变量。用法与var类似,但是let命令只在代码块内有效

example: { let a=10;

var b=1;

}

a // ReferenceError:a is not defined

b:// 1

1.1 let不存在变量的提升:let不会像var那样发生'变量提升'的现象,变量一定要在声明后使用,否则会报错(我理解的就是var 值所以不会报错,是因为初始值就是undefined)

1.2 let不允许在相同的作用域内重复声明同一个变量

二、const命令

const也是用来声明变量,但是声明的是常量。一旦声明,常量值就不可以改变。用法跟其他语言(java,c,c++)一样

三、跨模块常量

          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

四、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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章