简单掌握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 相关文章推荐
jQuery 解析xml文件
Aug 09 Javascript
原生js实现半透明遮罩层效果具体代码
Jun 06 Javascript
安装使用Mongoose配合Node.js操作MongoDB的基础教程
Mar 01 Javascript
javascript+HTML5 Canvas绘制转盘抽奖
May 16 Javascript
深入理解js数组的sort排序
May 28 Javascript
浅谈jquery采用attr修改form表单enctype不起作用的问题
Nov 25 Javascript
javascript获取以及设置光标位置
Feb 16 Javascript
利用Vue2.x开发实现JSON树的方法
Jan 04 Javascript
Vue2.0 实现歌手列表滚动及右侧快速入口功能
Aug 08 Javascript
详解React native fetch遇到的坑
Aug 30 Javascript
解决Antd Table表头加Icon和气泡提示的坑
Nov 17 Javascript
vue项目中企业微信使用js-sdk时config和agentConfig配置方式详解
Dec 15 Vue.js
基于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
基于mysql的bbs设计(五)
2006/10/09 PHP
浅谈PHP接入(第三方登录)QQ登录 OAuth2.0 过程中遇到的坑
2017/10/13 PHP
Yii框架使用PHPExcel导出Excel文件的方法分析【改进版】
2019/07/24 PHP
PHP常用字符串函数用法实例总结
2020/06/04 PHP
php析构函数的具体用法小结
2014/03/11 Javascript
jQuery Migrate 1.1.0 Released 注意事项
2014/06/14 Javascript
javascript中去除数组重复元素的实现方法【实例】
2016/04/12 Javascript
很棒的js选项卡切换效果
2016/07/15 Javascript
MUI 上拉刷新/下拉加载功能实例代码
2017/04/13 Javascript
canvas基础绘制-绚丽倒计时的实例
2017/09/17 Javascript
JavaScript模拟实现封装的三种方式及写法区别
2017/10/27 Javascript
第一个Vue插件从封装到发布
2017/11/22 Javascript
JS实现简单的浮动碰撞效果示例
2017/12/28 Javascript
JavaScript使用prototype原型实现的封装继承多态示例
2018/08/31 Javascript
基于Vue2-Calendar改进的日历组件(含中文使用说明)
2019/04/14 Javascript
js中关于Blob对象的介绍与使用
2019/11/29 Javascript
python操作mongodb根据_id查询数据的实现方法
2015/05/20 Python
浅谈python字典多键值及重复键值的使用
2016/11/04 Python
python梯度下降法的简单示例
2018/08/31 Python
Python基于BeautifulSoup和requests实现的爬虫功能示例
2019/08/02 Python
ipad上运行python的方法步骤
2019/10/12 Python
基于Python fminunc 的替代方法
2020/02/29 Python
Python使用Numpy模块读取文件并绘制图片
2020/05/13 Python
Python爬取某平台短视频的方法
2021/02/08 Python
html5 touch事件实现触屏页面上下滑动(一)
2016/03/10 HTML / CSS
倩碧香港官方网站:Clinique香港
2017/11/13 全球购物
日本语毕业生自荐信
2014/02/01 职场文书
酒鬼酒广告词
2014/03/21 职场文书
教师敬业奉献模范事迹材料
2014/05/18 职场文书
计算机网络专业自荐书
2014/06/09 职场文书
建筑工地宣传标语
2014/06/18 职场文书
家庭教育教师培训学习体会
2016/01/14 职场文书
《蟋蟀的住宅》教学反思
2016/02/17 职场文书
2019事业单位个人工作总结范文
2019/08/26 职场文书
go web 预防跨站脚本的实现方式
2021/06/11 Golang
elasticSearch-api的具体操作步骤讲解
2021/06/28 Java/Android