简单掌握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 相关文章推荐
Autocomplete Textbox Example javascript实现自动完成成功
Aug 17 Javascript
基于JQuery实现相同内容合并单元格的代码
Jan 12 Javascript
关于js获取radio和select的属性并控制的代码
May 12 Javascript
JavaScript面向对象程序设计三 原型模式(上)
Dec 21 Javascript
如何使用jQuery技术开发ios风格的页面导航菜单
Jul 29 Javascript
jQuery实现图片轮播特效代码分享
Sep 15 Javascript
有关jquery与DOM节点操作方法和属性记录
Apr 15 Javascript
AngularJS入门教程之AngularJS表达式
Apr 18 Javascript
使用jQuery实现购物车结算功能
Aug 15 jQuery
JavaScript文件的同步和异步加载的实现代码
Aug 19 Javascript
Vuex的实战使用详解
Oct 31 Javascript
JS Web Flex弹性盒子模型代码实例
Mar 10 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
PHP5/ZendEngine2的改进
2006/10/09 PHP
PHP 获取远程文件大小的3种解决方法
2013/07/11 PHP
[JS源码]超长文章自动分页(客户端版)
2007/01/09 Javascript
js 文件引入实现代码
2010/04/23 Javascript
为超链接加上disabled后的故事
2010/12/10 Javascript
解决json日期格式问题的3种方法
2014/02/02 Javascript
Node.js 学习笔记之简介、安装及配置
2015/03/03 Javascript
jQuery+canvas实现的球体平抛及颜色动态变换效果
2016/01/28 Javascript
jQuery包裹节点用法完整示例
2016/09/13 Javascript
Vue实现导出excel表格功能
2018/03/30 Javascript
关于HTML5的data-*自定义属性的总结
2018/05/05 Javascript
vue-cli脚手架的安装教程图解
2018/09/02 Javascript
vue-自定义组件传值的实例讲解
2018/09/18 Javascript
JQuery实现ajax请求的示例和注意事项
2018/12/10 jQuery
jQuery+PHP+Ajax实现动态数字统计展示功能
2019/12/25 jQuery
[01:03:42]VP vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
巧用Python装饰器 免去调用父类构造函数的麻烦
2012/05/18 Python
深度剖析使用python抓取网页正文的源码
2014/06/11 Python
分享一个常用的Python模拟登陆类
2015/03/29 Python
Python中pip安装非PyPI官网第三方库的方法
2015/06/02 Python
python常用知识梳理(必看篇)
2017/03/23 Python
python开发游戏的前期准备
2019/05/05 Python
Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法
2019/09/24 Python
详解使用Python下载文件的几种方法
2019/10/13 Python
python实现查找所有程序的安装信息
2020/02/18 Python
Django实现前台上传并显示图片功能
2020/05/29 Python
python实现数字炸弹游戏
2020/07/17 Python
Clarria化妆品官方网站:购买天然和有机化妆品系列
2018/04/08 全球购物
LightInTheBox法国站:中国跨境电商
2020/03/05 全球购物
客服实习的个人自我鉴定
2013/10/20 职场文书
应用艺术专业个人的自我评价
2014/01/03 职场文书
节能宣传周活动总结
2014/05/08 职场文书
竞选班干部演讲稿100字
2014/08/20 职场文书
车贷收入证明范本
2014/09/14 职场文书
幼儿园教师节感谢信
2015/01/23 职场文书
格列夫游记读书笔记
2015/07/01 职场文书