Contents
  1. 1. 前言
  2. 2. 比较

前言

在ES6出现之前,js中声明变量就只有通过var关键字,函数声明是通过function关键字,而在ES6之后,声明的方式有var,let,const,function,class,现在主要考虑var const let的区别;

比较

  1. 如果使用关键字 var 声明一个变量,那么这个变量就属于当前的函数作用域。

​ var定义的变量可以修改,如果没有进行初始化会输出undefined,不会报错。

  1. let 声明的变量只在它所在的代码块有效;块作用域由{}包括,if语句和for语句里面的{}也属于块作用域。

    let是块级作用域,函数内部使用let定义后,对函数外部无影响。只能在块作用域里访问,也不能跨函数访问。

  2. const 定义的变量无法修改,而且必须初始化。只能在块作用域里访问。

Contents
  1. 1. 前言
  2. 2. 比较