es6-let与const

作用域的概念

es5 两个作用域:全局作用域、函数作用域

es6 增加了块作用域

let

  • let var 作用域不同,let 只在块级作用域有效
  • 使用 es6 强制开启严格模式,未声明会报错;es5 中使用 "use strict"
  • let 不能重复定义变量
function test(){
  for(let i=1;i<3;i++){ // 块级作用域
    console.log(i);
  }
  console.log(i); // 报错:Uncaught ReferenceError: i is not defined
}()
function test1(){
  for(var i=1;i<3;i++){ // 函数作用域
    console.log(i);
  }
  console.log(i); // 1 2 3 
}()

const

  • 声明常量,不能修改。
  • const 也有块级作用域。
  • 声明时必须赋值。
  • 数值不允许修改;引用类型赋值,存的是指针,指针不能变,但是引用类型可以变。
function last(){
  const PI=3.1415926; // const 声明常量
  const k={ // const 声明对象,指针没变,但可以改变对象内容
    a:1
  }
  k.b=3;
  console.log(PI,k);
}()

推荐阅读更多精彩内容

  • let和const let命令 let用法类似var,但是所声明的变凉,只在let命令所在的代码块内有效 for循...
    李诺哦阅读 257评论 0 1
  • 1.let命令 基本概念 let语法类似于var,不同点在于let定义的变量只在定义它的代码块中有效。 {var ...
    Chef_Front阅读 169评论 0 0
  • let 和 const 命令 let 命令 块级作用域 const 命令 顶层对象的属性 gl...
    安小明阅读 842评论 0 0
  • let和const都是声明(定义)用的,let是声明变量,而const是声明常量的。 变量:声明之后可以改变常亮:...
    Cyril丶阅读 126评论 0 0
  • 随和,是一种素质,一种文化,一种心态。 随和是淡泊名利时的超然,是曾经沧海后的井然,是狂风暴雨中的坦然。 但随和决...
    Days_clear_sky阅读 189评论 0 0
  • 每每看着自己做出来的东西既有颜值又美味,成就感爆棚。美食图片献上,让大家饱饱眼福!呵呵…… ...
    坚持是胜利阅读 287评论 4 3
  • 刷微博看到我心爱的陈小姐发的日常心情 有关他的张先生 远在新疆的张先生和远在日本的陈小姐 很多年了我后来再也没有见...
    7d5d98f37108阅读 76评论 0 0