JavaScript ES6学习之常量const

一、const的基本知识
const的作用是声明常量,常量就是值(内存地址)不变的量。
特点:
(1)const只对常量所处的块级有效:(这里的块级就比如一个大括号)

	const age = 12;
	if(true){
  		const age = 121;
}
	console.log(age);

在这里插入图片描述
从上图我们发现:最后执行出来的结果是12而不是121,这是因为const具有块级作用域,第二个const只能在if{}内部执行。

(2)声明常量时必须赋值:
①我们举一个没有赋值的例子:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>HOME</title>
</head>
<body>
<script type="text/javascript"> 
const PI1;
console.log(PI1);
    </script>
</body>
</html>

因为我们没有赋值,所以就会出现以下画面:
在这里插入图片描述
②如果我们赋了值,那么就能显示出来了:

const PI1 = 3.1415926;
console.log(PI1);

在这里插入图片描述
(3)常量赋值后,值不可更改:
这里分为两种情况:
①对于基本数据类型来说,常量赋值后,值不可更改。

例如:

const PI = 123;
PI = 3.1415926;//常量赋值后,值不可更改,否则报错
console.log(PI);

运行结果如下:
在这里插入图片描述
②对于复杂数据类型来说,内部的值是可以更改的,但就是不能重新赋值,也就是常量值对应的内存地址不可更改。

例如下面这个数组(2000,9000)被修改成(9000,2000):

const arr=[2000,9000];//原数组(2000,9000)
arr[0]=9000;
arr[1]=2000;
console.log(arr);//现数组(9000,2000)

运行结果如下:
在这里插入图片描述

二、const、var和let的区别:

(1)变量起作用的范围不一样:
var是函数级作用域,let是块级作用域,const是块级作用域。
(2)是否存在变量提升:
var变量提升,let不存在变量提升,const不存在变量提升。
(3)值是否能够更改
var值可更改,let值可更改,const值不可更改。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值