简单掌握JavaScript中const声明常量与变量的用法


Posted in Javascript onMay 21, 2016

ES6引入的第三个声明类关键词与let类似:const。

看一下用法:

const c1 = 1; 
const c2 = {}; 
const c3 = [];
Object.getOwnPropertyDescriptor(window,"c1") 
//Object {value: 1, writable: false, enumerable: true, configurable: false}

上面的例子说,不能在对c2进行赋值,但是可以改变c2的内容,因为c2是个对象,看例子:

c2.p1 = 1;

同样,也可以往c3中添加元素,因为c3是个数组。

const声明常量还有个问题,就是声明和初始化必须在一起,声明了就要初始化:

'use strict'; 
 
const c4;//Uncaught SyntaxError: Unexpected token ;

去掉分号仍然会报错,我们这里不讨论非strict mode下的情况,有兴趣的可以自己去试。

const声明的变量与let声明的变量类似,它们的不同之处在于,const声明的变量只可以在声明时赋值,不可随意修改,否则会导致SyntaxError(语法错误)。

const MAX_CAT_SIZE_KG = 3000; // 正确

MAX_CAT_SIZE_KG = 5000; // 语法错误(SyntaxError)
MAX_CAT_SIZE_KG++; // 虽然换了一种方式,但仍然会导致语法错误

当然,规范设计的足够明智,用const声明变量后必须要赋值,否则也抛出语法错误。

const theFairest; // 依然是语法错误,你这个倒霉蛋
Javascript 相关文章推荐
用JQuery 实现的自定义对话框
Mar 24 Javascript
Js制作简单弹出层DIV在页面居中 中间显示遮罩的具体方法
Aug 08 Javascript
js导入导出excel(实例代码)
Nov 25 Javascript
JQuery显示、隐藏div的几种方法简明总结
Apr 16 Javascript
Knockoutjs 学习系列(二)花式捆绑
Jun 07 Javascript
纯JavaScript 实现flappy bird小游戏实例代码
Sep 27 Javascript
JavaScript 通过Ajax 动态加载CheckBox复选框
Aug 31 Javascript
Angular4学习笔记router的简单使用
Mar 30 Javascript
angular5 子组件监听父组件传入值的变化方法
Sep 30 Javascript
微信小程序使用map组件实现获取定位城市天气或者指定城市天气数据功能
Jan 22 Javascript
JS实现水平移动与垂直移动动画
Dec 19 Javascript
使用Ajax实现进度条的绘制
Apr 07 Javascript
基于javascript实现表格的简单操作
May 21 #Javascript
javascript检测移动设备横竖屏
May 21 #Javascript
Ext JS框架中日期函数的用法及日期选择控件的实现
May 21 #Javascript
js+html5实现canvas绘制网页时钟的方法
May 21 #Javascript
JavaScript的Ext JS框架中的GridPanel组件使用指南
May 21 #Javascript
javascript RegExp 使用说明
May 21 #Javascript
js+html5实现canvas绘制椭圆形图案的方法
May 21 #Javascript
You might like
杏林同学录(九)
2006/10/09 PHP
给初学PHP的5个入手程序
2006/11/23 PHP
php带密码功能并下载远程文件保存本地指定目录 修改加强版
2010/05/16 PHP
基于PHP服务端图片生成缩略图的方法详解
2013/06/20 PHP
PHP中数组的分组排序实例
2014/06/01 PHP
PHP中如何使用session实现保存用户登录信息
2015/10/20 PHP
详解PHP多个进程配合redis的有序集合实现大文件去重
2019/03/06 PHP
如何在PHP中读写文件
2020/09/07 PHP
Jquery 实现Tab效果 思路是js思路
2010/03/02 Javascript
jQuery学习笔记 更改jQuery对象
2012/09/19 Javascript
jquery中EasyUI使用技巧小结
2015/02/10 Javascript
jQuery事件绑定on()、bind()与delegate() 方法详解
2015/06/03 Javascript
js验证身份证号有效性并提示对应信息
2015/10/19 Javascript
jQuery Ajax请求后台数据并在前台接收
2016/12/10 Javascript
vue 使用Jade模板写html,stylus写css的方法
2018/02/23 Javascript
小程序开发基础之view视图容器
2018/08/21 Javascript
node中的cookie的具体使用
2018/09/13 Javascript
小程序实现搜索框功能
2020/03/26 Javascript
JavaScript 预解析的4种实现方法解析
2019/09/03 Javascript
Python中函数的多种格式和使用实例及小技巧
2015/04/13 Python
使用Python制作获取网站目录的图形化程序
2015/05/04 Python
Python用于学习重要算法的模块pygorithm实例浅析
2018/08/16 Python
python实现排序算法解析
2018/09/08 Python
pycharm执行python时,填写参数的方法
2018/10/29 Python
Python多项式回归的实现方法
2019/03/11 Python
Python3如何在Windows和Linux上打包
2020/02/25 Python
浅谈pandas.cut与pandas.qcut的使用方法及区别
2020/03/03 Python
python爬虫今日热榜数据到txt文件的源码
2021/02/23 Python
传统HTML页面实现模块化加载的方法
2018/10/15 HTML / CSS
西班牙伏林航空公司:Vueling
2016/08/05 全球购物
企业管理专业个人求职信范文
2013/09/24 职场文书
民主评议党员自我评议范文2014
2014/09/26 职场文书
2014年学生会工作总结范文
2014/11/07 职场文书
办公用房租赁协议书
2014/11/29 职场文书
浅谈sql_@SelectProvider及使用注意说明
2021/08/04 Java/Android
HDFS免重启挂载新磁盘
2022/04/06 Servers