简单掌握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 相关文章推荐
javascript下4个跨浏览器必备的函数
Mar 07 Javascript
jQuery使用之标记元素属性用法实例
Jan 19 Javascript
详解JavaScript编程中正则表达式的使用
Oct 25 Javascript
TypeOf这些知识点你了解吗
Feb 21 Javascript
使用Vue构建可重用的分页组件
Mar 26 Javascript
vue component 中引入less文件报错 Module build failed
Apr 17 Javascript
通过javascript实现段落的收缩与展开
Jun 26 Javascript
微信小程序tab切换可滑动切换导航栏跟随滚动实现代码
Sep 04 Javascript
JS的时间格式化和时间戳转换函数示例详解
Jul 27 Javascript
jQuery实现日历效果
Sep 11 jQuery
用vue写一个日历
Nov 02 Javascript
Typescript类型系统FLOW静态检查基本规范
May 25 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
PHP设计模式之命令模式的深入解析
2013/06/13 PHP
php中如何防止表单的重复提交
2013/08/02 PHP
Yii2.0中的COOKIE和SESSION用法
2016/08/12 PHP
popdiv
2006/07/14 Javascript
基于jquery的has()方法以及与find()方法以及filter()方法的区别详解
2013/04/26 Javascript
js为鼠标添加右击事件防止默认的右击菜单弹出
2013/07/29 Javascript
javascript基本类型详解
2014/11/28 Javascript
jquery分析文本里url或邮件地址为真实链接的方法
2015/06/20 Javascript
微信小程序 增、删、改、查操作实例详解
2017/01/13 Javascript
微信小程序 ecshop地址三级联动实现实例代码
2017/02/28 Javascript
vue-router 导航钩子的具体使用方法
2017/08/31 Javascript
jQuery选择器之表单元素选择器详解
2017/09/19 jQuery
用Vue编写抽象组件的方法
2019/05/06 Javascript
简单了解Javscript中兄弟ifream的方法调用
2019/06/17 Javascript
Vue.set 全局操作简单示例
2019/09/19 Javascript
vue-router之实现导航切换过渡动画效果
2019/10/31 Javascript
基于vue-cli3和element实现登陆页面
2019/11/13 Javascript
koa2的中间件功能及应用示例
2020/03/05 Javascript
在webstorm中配置less的方法详解
2020/09/25 Javascript
[53:36]Liquid vs VP Supermajor决赛 BO 第三场 6.10
2018/07/05 DOTA
python实现从字符串中找出字符1的位置以及个数的方法
2014/08/25 Python
详解python中executemany和序列的使用方法
2017/08/12 Python
python3爬取淘宝信息代码分析
2018/02/10 Python
简单了解python变量的作用域
2019/07/30 Python
关于阿里云oss获取sts凭证 app直传 python的实例
2019/08/20 Python
python + selenium 刷B站播放量的实例代码
2020/06/12 Python
python3爬虫GIL修改多线程实例讲解
2020/11/24 Python
HTML5中的新元素介绍
2008/10/17 HTML / CSS
实习单位接收函模板
2014/01/10 职场文书
生产助理岗位职责
2014/06/18 职场文书
付款承诺函范文
2015/01/21 职场文书
杜甫草堂导游词
2015/02/03 职场文书
高校教师个人总结
2015/02/10 职场文书
高中运动会广播稿
2015/08/19 职场文书
团干部培训班心得体会
2016/01/06 职场文书
利用Python脚本写端口扫描器socket,python-nmap
2022/07/23 Python