简单掌握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 相关文章推荐
让FireFox支持innerText的实现代码
Dec 01 Javascript
js的逻辑运算符 ||
May 31 Javascript
extjs 04_grid 单击事件新发现
Nov 27 Javascript
JavaScript的null和undefined区别示例介绍
Sep 15 Javascript
JS制作简单的三级联动
Mar 18 Javascript
AngularJS学习笔记之ng-options指令
Jun 16 Javascript
jquery zTree异步加载、模糊搜索简单实例分享
Mar 24 Javascript
js动态生成form 并用ajax方式提交的实现方法
Sep 09 Javascript
JavaScript实现的选择排序算法实例分析
Apr 14 Javascript
angularjs2 ng2 密码隐藏显示的实例代码
Aug 01 Javascript
js实现随机点名功能
Dec 23 Javascript
Ajax实现页面无刷新留言效果
Mar 24 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常用技巧总结(附函数代码)
2012/02/04 PHP
php实现mysql备份恢复分卷处理的方法
2014/12/26 PHP
CI框架实现框架前后端分离的方法详解
2016/12/30 PHP
超强多功能php绿色集成环境详解
2017/01/25 PHP
PHP实现时间比较和时间差计算的方法示例
2017/07/24 PHP
php类自动装载、链式操作、魔术方法实现代码
2017/07/23 PHP
PHP魔术方法之__call与__callStatic使用方法
2017/07/23 PHP
php实现的redis缓存类定义与使用方法示例
2017/08/09 PHP
php函数式编程简单示例
2019/08/08 PHP
CL vs ForZe BO5 第四场 2.13
2021/03/10 DOTA
Javascript 闭包引起的IE内存泄露分析
2012/05/23 Javascript
Thinkphp模板没有解析直接原样输出的解决方法
2014/10/31 Javascript
JS实现的论坛Ajax打分效果完整实例
2015/10/31 Javascript
Zepto实现密码的隐藏/显示
2017/04/07 Javascript
JavaScript实现移动端页面按手机屏幕分辨率自动缩放的最强代码
2017/08/18 Javascript
Vue.js通用应用框架-Nuxt.js的上手教程
2017/12/25 Javascript
vue 自定义提示框(Toast)组件的实现代码
2018/08/17 Javascript
基于mpvue小程序使用echarts画折线图的方法示例
2019/04/24 Javascript
vue实现滑动超出指定距离回顶部功能
2019/07/31 Javascript
vue自动化路由的实现代码
2019/09/30 Javascript
[00:50]2014DOTA2国际邀请赛 NEWBEE战队回顾
2014/08/01 DOTA
[40:31]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python入门篇之文件
2014/10/20 Python
Python tkinter常用操作代码实例
2020/01/03 Python
python json.dumps中文乱码问题解决
2020/04/01 Python
阿迪达斯加拿大官网:Adidas加拿大
2016/08/25 全球购物
英国复古和经典球衣网站:Vintage Football Shirts
2018/10/05 全球购物
实习自我鉴定范文
2013/10/30 职场文书
高级护理专业毕业生推荐信
2013/12/25 职场文书
自考毕业自我鉴定
2014/03/18 职场文书
求职信内容一般写什么?
2015/03/20 职场文书
房贷工资证明范本
2015/06/12 职场文书
市直属机关2016年主题党日活动总结
2016/04/05 职场文书
Nginx配置并兼容HTTP实现代码解析
2021/03/31 Servers
jquery插件实现搜索历史
2021/04/24 jQuery
python神经网络ResNet50模型
2022/05/06 Python