ES6最基本的语法 let
let是什么?
一般与{}搭配使用
{
let a=1
}
for(let i=0; i<6; i++){
}
{ }一个新的作用域
{ let a} 作用域内的变量是局部变量
var a = 1
function fn(){
console.log(a)
}
// a=2 a的值就会发生变化
fn() //1
其中在fn函数中 ,a是全局 a,不管有几个a的变化,都只有一个a
如果没有ES6,就得用立即执行函数创建作用域和局部变量
(function (){
var a=0
})()
为什么let比var好用?
var 本身有很多有时候想不到的点,比如变量提升
{
var a=0
}
console.log(a) // 1
当执行代码前,首先变量提升成
var a
{
a=0
}
而let不会,
{
let q=0
}
console.log(q) //报错:q is not defined
所以如果是变量声明,请写在第一行
let 使用,解决什么问题?
如果按照前端历史来讲,它替代了以前前端为了创建新作用域的呕心沥血,更加方便、快捷、简单。
let注意事项
- let 作用域在最近的{}
- 如果在let a 之前使用a, 会报错
- 重复使用let a报错
const 块级常量
像极了数学中的一些固定不变的量
比如 PI= 3.1415926
那么可以写成:
const PI = 3.1415926
const
- const作用域在最近的{}
- 如果在const a 之前使用a, 会报错
- 重复使用const a报错
4.只有一次赋值机会,而且必须在声明时立马赋值