码迷,mamicode.com
首页 > 其他好文 > 详细

Vue中 let 关键字

时间:2019-09-28 16:23:58      阅读:285      评论:0      收藏:0      [点我收藏+]

标签:highlight   contain   nts   syn   tab   var   就会   reference   现象   

let

es6新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。

不存在变量提升 

var命令会发生”变量提升“现象,即变量可以在声明之前使用,值为undefined。这种现象多多少少是有些奇怪的,按照一般的逻辑,变量应该在声明语句之后才可以使用。

为了纠正这种现象,let命令改变了语法行为,它所声明的变量一定要在声明后使用,否则报错。

1
2
3
4
5
6
7
// var 的情况
console.log(foo); // 输出undefined
var foo = 2;
 
// let 的情况
console.log(bar); // 报错ReferenceError
let bar = 2;

上面代码中,变量foovar命令声明,会发生变量提升,即脚本开始运行时,变量foo已经存在了,但是没有值,所以会输出undefined。变量barlet命令声明,不会发生变量提升。这表示在声明它之前,变量bar是不存在的,这时如果用到它,就会抛出一个错误。

不允许重复声明  

let不允许在相同作用域内,重复声明同一个变量。

1
2
3
4
5
6
7
8
9
10
11
// 报错
function func() {
  let a = 10;
  var a = 1;
}
 
// 报错
function func() {
  let a = 10;
  let a = 1;
}

因此,不能在函数内部重新声明参数

1
2
3
4
5
6
7
8
9
function func(arg) {
  let arg; // 报错
}
 
function func(arg) {
  {
    let arg; // 不报错
  }
}

Vue中 let 关键字

标签:highlight   contain   nts   syn   tab   var   就会   reference   现象   

原文地址:https://www.cnblogs.com/mark5/p/11603494.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!