前端笔记

Let var const

2018-05-13  本文已影响9人  好奇男孩

let 命令

ES6 新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。
具体特性如下:

1. var 可声明前置

a = 3
var a
var a = 4

2. let不可声明前置

a = 3 //报错
let a

3. let不可重复声明

let a = 3
let a = 4  //报错
var a = 5  //报错

4. 存在块级作用域

for(let i =0; i<3; i++){
  console.log(i)
}
console.log(i) //报错

IIFE的替换()

(function(){
  var a = 1
}())
{
  let a = 1
}

5 暂时性死区(TDZ):在let声明变量之前都是该变量的死区,在死区内该变量不可使用

if (true) {
  tmp = 'abc'; //报错
  let tmp;
}

const 命令

const声明一个只读的常量。一旦声明,常量的值就不能改变。

1. const 声明的常量不可改变

const a = 1
a = 2 //报错

const obj = {a: 1}
obj.a = 2   //没问题
obj = {a: 2}  //报错

2. 适用于let的同样适用于const

es6注意

var a = 1;
// 如果在 Node 的 REPL 环境,可以写成 global.a
// 或者采用通用方法,写成 this.a
window.a // 1

let b = 1;
window.b // undefined
上一篇 下一篇

猜你喜欢

热点阅读