es6let与const注意要点

37次阅读

共计 836 个字符,预计需要花费 3 分钟才能阅读完成。

1. 用 let 声明变量只在块级作用域起作用,适合在 for 循环使用,也不会出现变量提升现象。同一个代码块内,不可重复声明的相同变量,不可重复声明函数内的参数。

1. 同一个块级作用域内,不允许重复声明同一个变量。{
  var a =1;
  let a =2;  // 报错,因为 a 已经用 var 声明过
}

2. 函数内不能用 let 重新声明函数的参数
function say(word){
    let word = 'hello Jack';  // 报错:用 let 重新声明 word 参数
   alert(word)
}
say('hello Lili');//say()函数内用 let 重新声明了 word 这个参数,会报错的,千万别这么干。

2.const也是用于声明一个常量,并必须赋值,声明后不可修改,跟 let 一样,只在块级作用域起作用,
不可重复声明同一个变量,不会变量提升,声明引用类型的常量时,要注意是传址赋值。

1. 不可修改
const Name = '张三';
Name = '李四';// 错误,企图修改常量 Name

2. 只在块级作用域起作用,这点与 let 关键字一样。if(1){const Name = '张三';}
alert(Name);// 错误,在代码块 { } 外,Name 失效

3. 不存在变量提升,必须先声明后使用,这点也跟 let 关键字一样。if(1){alert(Name);// 错误,使用前未声明
    const Name = '张三';
}

4. 不可重复声明同一个变量,这点跟 let 也一样。var Name  = '张三';
const  Name = '李四';// 错误,声明一个已经存在的变量 Name

5. 声明后必须要赋值
const NAME; // 错误,只声明不赋值

3.IE9 正常运行 ES6 新特性 安装 babel

npm install babel-core@5 
<script src="browser.min.js"></script>
<script type="text/babel">
    const Name = '张三';// 使用新增的关键字:const 声明常量
    alert(Name);
</script>

正文完
 0