开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第21天,点击查看活动详情
初识ES6
ECMAScript简称为ES6,是在2015年新发布的Javascript语言的新标准。此时的ES6已经逐步的向复杂类型,强类型特制,对于之前的ES5来说发生了很大的变化,新增了很多好用的功能。比如一些变量的定义,模板字符串的编写。要是之后版本的ES新增了功能,也要看浏览器有没有跟进能不能在这个浏览器上使用。
变量的定义
在ES6中,新增了两种定义方式,那就是let、const。在我们还没有接触到ES6之前我们都是用的var来定义变量,这种方式有一些不太好的地方我们称它为变量声明提升。为了解决这种问题,所以给我们搞了两种新的定义方式。
先搞清楚var跟新增的两个之间的区别
1.必须先定义再使用
console.log(a)
//我在定义变量之前去调用这个变量,在var定义的变量中是可以访问的但是不能够获取它的值。
var a=123
而在新的两种定义方式中都不会出现这样的情况。
console.log(a)
let a =100
console.log(b)
const b =100
//如果这两种方法这么写在运行开始时就会报错
2.变量重名
var name='nannan'
var name='manman'
//在var定义中后写的会覆盖前面写的,所以之后我们在控制台输出的时候输出的会是后面定义的
console.log(name) //输出的结果:manman
用let、const:
let name='nannan'
let name='manman'
他会检测重复的变量名,如果有重复的变量名他将会报错
const跟let一样都会检测重名
3.块级作用域
var只有在函数的大括号中才会受到限制
let、const在其他的大括号中都会受到限制
let和const的区别
let定义的是变量,你可以用其他值将它原先的值覆盖。
let name='nannan'
name='manman'
//这样写后写的name值就会将前面的覆盖,所以name值为manman
而const定义的是一个常量,不可以用其他值将他覆盖,不然会发生报错。
const name='nannan'
name='manman'
//这样子是覆盖不了的,会发生报错
总的来说就是,如果你想要一个值可以一直改变,那你就用let;想要一个值一直不变,那就用const。