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


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