CY-Left

JavaScript开发语言

ES6 摘要

ES6 摘要

变量声明

let

  1. 一般语法
let a
var b

作用所在块域, 且不支持变量提升, 不能和 var 重复定义数据

  1. 变量提升

let 不存在变量提升

var a = [];
for (var i = 0; i < 10; i++) {
  a[i] = function () {
    console.log(i);
  };
}
a[6](); // 10
var a = [];
for (let i = 0; i < 10; i++) {
  a[i] = function () {
    console.log(i);
  };
}
a[6](); // 6

  1. 其他
    1. 不允许重复
    2. 定义后才能使用

const

const上保证,变量指向的那个内存地址所保存的数据不得改动。对于简单类型的数据(数值、字符串、布尔值),值就保存在变量指向的那个内存地址,因此等同于常量。但对于复合类型的数据(主要是对象和数组),变量指向的内存地址,保存的只是一个指向实际数据的指针,const只能保证这个指针是固定的(即总是指向另一个固定的地址),至于它指向的数据结构是不是可变的,就完全不能控制了。因此,将一个对象声明为常量必须非常小心。

const foo = {};

// 为 foo 添加一个属性,可以成功
foo.prop = 123;
foo.prop // 123

// 将 foo 指向另一个对象,就会报错
foo = {}; // TypeError: "foo" is read-only

class import

var function

本文虽拙,却也系作者劳动,转载还请保留本文链接: http://cyleft.com/?p=903