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

ES6语法篇(其一)的更多相关文章

  1. ES6语法知识

    let/const(常用) let,const用于声明变量,用来替代老语法的var关键字,与var不同的是,let/const会创建一个块级作用域(通俗讲就是一个花括号内是一个新的作用域) 这里外部的 ...

  2. 一些基础的ES6 语法

    <script> window.onload = function () { //---------------------------let----------------------- ...

  3. gulp打包js多个文件夹并压缩混淆,编译ES6语法,及多个import依赖由一个入口打包成一个cdn

    感觉和webpack的步骤差不多 首先安装gulp:参考上一篇 安装完之后 新建一个文件目录起名 在当前目录下打开cmd 执行:npm init 创建package.json文件 然后安装第一个插件g ...

  4. es6语法重构react代码

    1.使用React.Component创建组件,需要通过在constructor中调用super()将props传递给React.Component.另外react 0.13之后props必须是不可变 ...

  5. vue 2.0 无法编译ES6语法

    # vue2.0 webpack 无法编译 ES6 语法 之前在使用 vue 1.x 时用 vue-loader@8.0.0 版本可以正常打包vue的代码,包括ES6语法也能正常转为ES5语法,但是当 ...

  6. Flex 布局:语法篇

    网页布局(layout)是 CSS 的一个重点应用.布局的传统解决方案,基于盒状模型,依赖 display 属性 + position 属性 + float 属性.它对于那些特殊布局非常不方便,比如, ...

  7. 把JavaScript代码改成ES6语法不完全指南

    目录 * 核心例子 * 修改成静态变量(const)或块级变量(let) * 开始修改 * 疑问解释(重复定义会发生什么) * 疑问解释(let的块级作用域是怎样的) * 疑问解释(const定义的变 ...

  8. 让intellij idea 14 支持ES6语法

    用eclipse做前端开发,用到了webpack,结果各种依赖导致软件卡的一比,简直不能动!虽然在同事的帮忙下,修改了一下配置,但仍然卡的没脾气.改用intellij idea 14解决了卡的问题,但 ...

  9. .vue文件在webstorm中es6语法报错解决方法

    1 语法支持es6设置 Preferences > Languages & Frameworks > JavaScript 把 Javascript Language versio ...

随机推荐

  1. [学习笔记]Javascript采用二进制浮点数和四舍五入的错误

    1.样例 var a = .3 - .2 //0.09999999999999998 var b = .2 - .1 //0.1 a == b //false 出现这样的原因在于 1.Javascri ...

  2. 纯 Java 开发 WebService 调用测试工具(wsCaller.jar)

    注:本文来自hacpai.com:Tanken的<纯 Java 开发 WebService 调用测试工具(wsCaller.jar)>的文章 基于 Java 开发的 WebService ...

  3. django----数据库表设计

    设计表时注意的几点: 1. nid = models.AutoField(primary_key=True)        #如果不指定django会默认加上id的 nid = models.BigA ...

  4. jquery----data使用

    - .data() - .data("key", value) 保存值,value可以是字符串,也可以是数组,也可以是jquery对象- .data("key" ...

  5. python接口自动化测试十一:传参数:data与json

    # 传json参数 import requests url = 'xxxxxxxx' body = {     'xxx': 'xxx',     'xxx': 'xxx' } # body是json ...

  6. HTML5布局

    完整示例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

  7. android adb命令 抓取系统各种 log

    getLog.bat: adb root adb remount adb wait-for-device adb logcat -v time > C:\log.txt 在Android中不同的 ...

  8. Tomcat开启JMX监控 visualvm

    Tomcat开启JMX监控 https://blog.csdn.net/dongdong2980/article/details/78476393

  9. day--16页面布局

        后台页面布局 一.fixed布局 <!DOCTYPE html> <html lang="en"> <head> <meta ch ...

  10. Gitlab管理用户、组、权限(一)

    && 内容: 添加用户 创建组 用户权限 保护主要分支 配置项目的可见性 移除用户 一. 添加用户 1. 用root 管理员登陆. 2. 点击管理区域 3. 点击New User 4. ...