简单掌握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 相关文章推荐
js监听键盘事件示例代码
Jul 26 Javascript
JSON.parse()和JSON.stringify()使用介绍
Jun 20 Javascript
JavaScript jQuery 中定义数组与操作及jquery数组操作
Dec 18 Javascript
JavaScript程序开发之JS代码放置的位置
Jan 15 Javascript
超实用的JavaScript代码段 附使用方法
May 22 Javascript
jQuery插件学习教程之SlidesJs轮播+Validation验证
Jul 12 Javascript
AngularJS基础 ng-init 指令简单示例
Aug 02 Javascript
AngularJS模板加载用法详解
Nov 04 Javascript
Angularjs实现搜索关键字高亮显示效果
Jan 17 Javascript
js利用for in循环获取 一个对象的所有属性以及值的实例
Mar 30 Javascript
快速使用node.js进行web开发详解
Apr 26 Javascript
vue3为什么要用proxy替代defineProperty
Oct 19 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 配置后台登录以及模板引入
2017/01/24 PHP
jquery插件 cluetip 关键词注释
2010/01/12 Javascript
AJAX异步从优酷专辑中采集所有视频及信息(JavaScript代码)
2010/11/20 Javascript
AngularJS 与百度地图的结合实例
2016/10/20 Javascript
jQuery实现的仿百度,仿谷歌搜索下拉框效果示例
2016/12/30 Javascript
Vue-Router实现页面正在加载特效方法示例
2017/02/12 Javascript
jQuery访问浏览器本地存储cookie、localStorage和sessionStorage的基本用法
2017/10/20 jQuery
实例分析js事件循环机制
2017/12/13 Javascript
vue.js 添加 fastclick的支持方法
2018/08/28 Javascript
解决vue 引入子组件报错的问题
2018/09/06 Javascript
angularJs提交文本框数据到后台的方法
2018/10/08 Javascript
微信小程序购物车、父子组件传值及calc的注意事项总结
2018/11/14 Javascript
axios实现简单文件上传功能
2019/09/25 Javascript
Node.js API详解之 tty功能与用法实例分析
2020/04/27 Javascript
vue中提示$index is not defined错误的解决方式
2020/09/02 Javascript
小程序实现上下切换位置
2020/11/16 Javascript
[02:53]DOTA2亚洲邀请赛 NewBee战队巡礼
2015/02/03 DOTA
[52:02]完美世界DOTA2联赛PWL S2 FTD.C vs SZ 第一场 11.27
2020/11/30 DOTA
使用FastCGI部署Python的Django应用的教程
2015/07/22 Python
python中的字典操作及字典函数
2018/01/03 Python
python通过elixir包操作mysql数据库实例代码
2018/01/31 Python
Python基于Floyd算法求解最短路径距离问题实例详解
2018/05/16 Python
tensorflow更改变量的值实例
2018/07/30 Python
解决python 自动安装缺少模块的问题
2018/10/22 Python
两个元祖T1=('a', 'b'),T2=('c', 'd')使用匿名函数将其转变成[{'a': 'c'},{'b': 'd'}]的几种方法
2019/03/05 Python
HTML5实现可缩放时钟代码
2017/08/28 HTML / CSS
意大利专业化妆品品牌:KIKO MILANO
2017/02/01 全球购物
什么是makefile? 如何编写makefile?
2012/08/08 面试题
网站开发实习生的自我评价
2013/12/11 职场文书
股东协议书范本
2014/04/14 职场文书
责任书范本
2014/08/25 职场文书
三问三解心得体会
2014/09/05 职场文书
干部作风建设心得体会
2014/10/22 职场文书
大学生个人简历自荐信
2015/03/06 职场文书
Python WSGI 规范简介
2021/04/11 Python
Win11电脑显示本地时间与服务器时间不一致怎么解决?
2022/04/05 数码科技