初识ES6
官方名称为ES2015
语法层面的更新:
原先定义变量为var a
ES6定义变量为了let a
书写代码
不需要考虑语法层面的兼容
ES6转ES5的工具叫做babel
ES6定义变量:
let :变量
const :常量
let/const和var的区别
var会进行预解析,反观let/const不会进行预解析,必须先定义后使用
预解析又是啥啊?咱看下例子:
var会进行预解析
console.log(a);
var a=100;
console.log(a)
let/const使用在定义之前会报错:
console.log(a);
let a=100;
console.log(a)
let/const只能定义一次不允许重复声明(不能重名)//变量名不能重复
var没有块级作用域,let和const有块级作用域
块级作用域:
被代码块限制变量的使用方法
var:只有在函数私有领域才能限制使用范围
let/const:只要是能书写代码段的{}都能限制使用范围
例子:
if(true){
let a=100
}
console.log(a)
//报错未定义
//let定义的a离开这个if的{}就用不了
let和const区别
1.let叫做变量,const叫做常量
2.let可以在声明的时候不进行赋值,而const在声明的时候必须进行赋值
3.let声明的变量能修改,const声明的常量不能修改,一旦修改会报错
例子
const和let区别
1、声明不赋值
let num;
console.log(num)//un
const nums;
console.log(nums)//报错
const obj={
name:"史振洋"
}
console.log(obj.name)//史振洋
obj.name='李洪征';
console.log(obj.name)//李洪征
不报错,因为obj存的是对象的地址,这里只是更改了地址里面的值;他是指地址改变了会报错
变量的定义规范
尽量使用let和const定义
书写代码的时候尽可能优先使用const