简单掌握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 相关文章推荐
Firebug 字幕文件JSON地址获取代码
Oct 28 Javascript
JavaScript 基础篇之运算符、语句(二)
Apr 07 Javascript
JavaScript中连接操作Oracle数据库实例
Apr 02 Javascript
javascript正则表达式基础知识入门
Apr 20 Javascript
jQuery实现仿Alipay支付宝首页全屏焦点图切换特效
May 04 Javascript
js时间比较 js计算时间差的简单实现方法
Aug 26 Javascript
Kindeditor单独调用单图上传增加预览功能的实例
Jul 31 Javascript
基于JavaScript实现报警器提示音效果
Oct 27 Javascript
从零开始在NPM上发布一个Vue组件的方法步骤
Dec 20 Javascript
详解如何理解vue的key属性
Apr 14 Javascript
深入了解JavaScript 的 WebAssembly
Jun 15 Javascript
vue实现短信验证码登录功能(流程详解)
Dec 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
php基础知识:类与对象(1)
2006/12/13 PHP
PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
2014/11/19 PHP
PHP对XML内容进行修改和删除实例代码
2016/10/26 PHP
jQuery 使用手册(五)
2009/09/23 Javascript
js使用心得分享
2015/01/13 Javascript
浅谈Node.js中的定时器
2015/06/18 Javascript
基于jQuery仿淘宝产品图片放大镜特效
2020/10/19 Javascript
JavaScript+html5 canvas制作的圆中圆效果实例
2016/01/27 Javascript
详解Node.js实现301、302重定向服务
2017/04/07 Javascript
解决JS外部文件中文注释出现乱码问题
2017/07/09 Javascript
jQuery实现的页面遮罩层功能示例【测试可用】
2017/10/14 jQuery
浅谈angular4实际项目搭建总结
2017/12/01 Javascript
基于vue中css预加载使用sass的配置方式详解
2018/03/13 Javascript
详解VUE自定义组件中用.sync修饰符与v-model的区别
2018/06/26 Javascript
jquery使用FormData实现异步上传文件
2018/10/25 jQuery
利用weixin-java-miniapp生成小程序码并直接返回图片文件流的方法
2019/03/29 Javascript
layUI的验证码功能及校验实例
2019/10/25 Javascript
Vue 自适应高度表格的实现方法
2020/05/13 Javascript
js实现ajax的用户简单登入功能
2020/06/18 Javascript
js实现页面导航层级指示效果
2020/08/25 Javascript
python实现挑选出来100以内的质数
2015/03/24 Python
老生常谈Python基础之字符编码
2017/06/14 Python
代码分析Python地图坐标转换
2018/02/08 Python
python实现k-means聚类算法
2018/02/23 Python
python中plt.imshow与cv2.imshow显示颜色问题
2020/07/16 Python
HTML5 canvas基本绘图之文字渲染
2016/06/27 HTML / CSS
欧洲最大的滑雪假期供应商之一:Sunweb Holidays
2018/01/06 全球购物
小学生演讲稿
2014/01/12 职场文书
医学类个人求职信范文
2014/02/05 职场文书
四查四看剖析材料
2014/02/14 职场文书
个人租房协议书样本
2014/10/01 职场文书
依法行政工作汇报
2014/10/28 职场文书
2015年共青团工作总结
2015/05/15 职场文书
小学运动会宣传稿
2015/07/23 职场文书
承诺书应该怎么写?
2019/09/10 职场文书
matplotlib画混淆矩阵与正确率曲线的实例代码
2021/06/01 Python