概述
es6中的变量声明
1、var:如果在方法中声明,则为局部变量;如果在全局中声明,则为全局变量。
1、存在变量提升
2、var声明的变量可以先赋值后声明
2、let:和var的写法一样,作用也是声明变量。
1、但是不存在预解析(没有提升)
2、也不允许重复声明,在ES6中新增了块级作用域:只要是花括号,就是一个作用
域,它不是函数。
3、let声明的时候可以不赋值
4、let声明的变量有块作用域的概念,而var声明的变量没有块作用域的概念,在
块作用域外也可以使用。
3、const:和let用法一样但区别是:
相同点:1、不允许重复声明变量
2、声明的变量不会预解析(没有声明提升)
3、声明的变量存在块级作用域
不同点:1、 let声明的时候可以不赋值,const声明的时候必须赋值
2、let声明的变量,值可以改变,const声明的变量,值不可以改变
3、声明的变量存在块级作用域
4、es6中新增加了三种特殊变量声明的方式
分别为function,import和class
1、function声明的函数变量也存在变量提升,用法有两种,分别为:
(1)var a=function(){...}
(2)function a(){...}
注意:第一种方式不能先调用,后声明,只能先声明函数,然后调用。第二种方式
定义函数可以先调用,后声明。
2、import声明的变量主要用于引用文件等操作,例如:
(1)import a from "xxx"
注意:此方法通常在script标签最顶部使用。
3、class声明类,作为对象的模板。通过class来定义一个类:
(1)class a {...} 使用new方式得到一个实例对象 var p=new StdInfo();
注意:class声明的类,类型也是function
示例:
1、变量提升示例
function fn(){
a1=2
var a1
console.log(a1)//输出2
a1=2
let a1
console.log(a1)//报错,因为let不存在变量提升
a1=2
const a1
console.log(a1)//报错,因为const不存在变量提升
}
2、值的改变示例
function fn(){
var a2=4
a2=6
console.log(a2)//输出6
let a2=4
a2=6
console.log(a2)//输出6
const a2=4
a2=6
console.log(a2)//报错,因为const声明的变量不能改变
}
3、const声明必须赋值
function fn(){
var a3;
let b3;
const c3;//报错,因为const声明变量必须赋值
console.log(a3)//输出undefined
console.log(b3)//输出undefined
console.log(c3)//报错,因为const声明变量必须赋值
}
4、function也可看做变量,也存在变量提升的情况
fn()//正常输出0
function fn(){
var fn4=0
console.log(fn4)
}
5、不允许重复声明变量
function fn(){
var a=0
var a=1
console.log(a)//输出1
let a=0
let a=1
console.log(a)//报错,因为let声明不允许重复
const a=0
const a=1
console.log(a)//报错,因为const声明不允许重复
}
最后
以上就是欣喜曲奇为你收集整理的es6中的变量声明es6中的变量声明示例:的全部内容,希望文章能够帮你解决es6中的变量声明es6中的变量声明示例:所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复