首先通过例子,来对三者有个大致了解,然后再分别对其进行解释!
var a=1;//a为变量,1为字面量
let b=2;//b为变量,2为字面量
const str="zhangpeiyue";//str为常量,3为字面量
变量
变量是用于存储数据的容器,在程序的运行中可以发生变化或者被再次赋值。
我们可以使用var关键字来声明变量,变量的值可以是任意类型。为了更好的阅读,建议变量使用驼峰命名法命名:
var myName="zhangpeiyue";//myName为变量,“zhangpeiyue"为字面量
在ES6中新增了let关键字声明变量,作用与var类似,只是声明的变量只在其所在区域内有效:
let str="es6";//str为变量,"es6"为字面量
常量
常量与变量一样均是用于存储数据的容器,只不过常量的值在程序的运行中不可以发生改变。
在ES6之前并没有声明常量的方法,在ES6中新增加了const来定义常量。
建议常量的命名全部大写,如果由多个单词构成,可以用下划线割开:
//NUM与MY_SITE只能在初始化的时候被赋值,赋值以后不允许被再次赋值。
const NUM=12;//NUM是常量,12为字面量
const MY_SITE="http://www.zhangpeiyue.com";//MY_SITE为常量,"http://www.zhangpeiyue.com"为字面量
注:常量必须要有初始值,否则会报错哦!
字面量
字面量有的地方称为直接量,即看见什么,它就是什么。你也可以认为字面量就是一个值,比如变量的值。
//等号右侧的值均为字面量
var obj={name:"zhangpeiyue", age:18};//{name:"zhangpeiyue", age:18}为对象字面量
var str="abcdefg";//abcdefg为字符串字面量
var num=999;//999为数值字面量
var arr=[1,2,3];//[1,2,3]为数组字面量
...
总结:
- 常量与变量的区别:常量与变量的存储方式是一样的,只不过常量必须要有初始值,而且值不允许被修改,而变量可以无初始值,且可以多次赋值。
-
常量与字面量的区别:常量与字面量均不会被改变。常量为存储数据的容器,而字面量为等号右侧的值,字面量是由字符串,数字等构成的字符串或数值。
网友评论