Contents

ES6笔记(一)块级作用域的绑定

Contents

前言

在学习的过程中也用过不少ES6语法,比如箭头函数,promise,class等,但从来没有好好的从头捋一遍,es6是2015年出的,现在都2018了,再不好好看看就out了。

新的声明方式

let

在ES6中又出现了两种声明方式分别是let,和const,在此之前js的作用域只有全局作用域和函数包裹的作用域,而let的出现让js有了块级作用域,一个经典案例一看就明白:

1
2
3
4
 for(let i = 0;i< 4;i++){ 
     console.log(i) 
    } 
console.log(i)//这里是i is not defined 

可以看出用let来声明变量,其变量的作用域只存在于这个花括号内,此时花括号就是一个块级作用域,而如果用var声明的话,在外面是可以打印出i的值的,因为它仍然处于全局作用域下,所以我们平时在写代码时完全可以用let来代替var,现在js语法越来越严谨,var早晚会out的。还有要注意的是let不能重复声明变量以及不存在变量提升。

const

const用来定义一些不可改变的变量,比如我用到的在node端引入一些包依赖用const

1
 const express = require('express'); const app = express(); 

总之你不想他被改变就用const,而且他和let一样会形成块级作用域,不能重复声明,不存在变量提升。