es6常量用法

转载 2018年04月17日 09:18:51
## 常量




在ES3中JavaScript中是不支持常量语法的,在ES5中需要借助 defineProperty 来设置常量,而在 ES6 中可以简单的设置一个变量为常量。


```javascript
// ES6 设置常量的语法
const PI = 3.1415926;
```


<hr>


```javascript
// ES5 中设置常量的语法
Object.defineProperty(typeof global === "object" ? global : window, "PI2", {
    value:        3.1415926,
    enumerable:   true,
    writable:     false,
    configurable: false
});
```


大家可以运行下结果,<code>console.table([PI, window.PI2]);</code>


<img src="../static/const/output-1.png" alt="常量输出结果" width="400">


*注意事项*


常量是不能被修改的,如果修改则会触发错误。


1. 如果使用 webpack 构建工具,则编译抛出错误,如图所示:


<img src="../static/const/webpack.error.png" alt="webpack编译错误" width="400">


2. 如果在浏览器直接修改同样会抛出错误,如图所示:


<img src="../static/const/chrome.error.png" alt="chrome抛出错误" width="400">


但是下面情况是可以被改变的,如:


```javascript
const obj={
  a:1,
  b:2
}
//修改对象的值是可行的
obj.a=3;
// 修改对象是不可行的
obj={
  c:1
};
```


知道为什么吗?因为对象是引用类型,const 指向的是对象引用地址,只要地址不变就符合 const 定义。

es6常量&作用域

  • 2018年04月09日 11:26
  • 963B
  • 下载

ES6 变量、常量声明总结

前言 较之前ES5,新版本在声明上有改变,现根据文档教程,总结下不同之处,时常温习。   一、var  对比  let   1、作用域不同     let只在命令所在...
  • huang_1012
  • huang_1012
  • 2017-08-04 10:54:30
  • 1052

二,ES6中新增const关键字的使用方法

之前用var声明变量,变量想怎么改就怎么改,这里const关键字也是声明变量的,不过声明的是常量,常量就是固定的一个值,不能改变, 例如:const name=“唐僧”; name="老沙"// ...
  • m0_37290635
  • m0_37290635
  • 2017-03-09 23:36:23
  • 771

ES6——Day2(跨模块常量+全局对象属性)

1、什么是模块? 在面向对象编程设计中,模块至少归属于一个“类”; 在javascript编程中,可以把js文件归属于一个模块。 案例1:module.js //module.js expo...
  • zxy9602
  • zxy9602
  • 2017-03-09 19:52:49
  • 920

ES6 之 const 的说明

最近,很多人问我,const的用法问题,这里给大家澄清一个误区。常量索引,不是值在ES6中另外一个定义变量的关键字是 const , 但是它经常被误会为一个“常量”。在ES6中, const 代表一个...
  • jiangbo_phd
  • jiangbo_phd
  • 2016-06-26 09:08:53
  • 3957

ES6 export的常用用法

es6 export import
  • lance_10030
  • lance_10030
  • 2017-06-26 13:21:44
  • 1385

ES6中的常量声明——const关键字

之前一直没有仔细想过const这个常量声明,有时候遇到了明显的问题,竟然忽略了过去,最终的结论是——const声明的常量是不能改变的,这句描述是并不太准确的。...
  • meng_suiga
  • meng_suiga
  • 2017-09-06 23:24:29
  • 132

ES6(ECMAScript 6 ) const命令

const命令const声明一个只读的常量。一旦声明,常量的值就不能改变。const PI = 3.1415; PI // 3.1415PI = 3; // TypeError: Assignment...
  • fengzijinliang
  • fengzijinliang
  • 2016-08-10 11:18:02
  • 4953

深入浅出ES6(十三):类 Class

目前面临的问题 假如我们想要创建一个经典的面向对象设计示例:Circle类。想象一下我们正在为一个简单的Canvas库编写这个Circle类,在众多需要考虑的因素中,我们可能更想了解以下功能的实现方...
  • lgh1117
  • lgh1117
  • 2016-04-30 11:09:01
  • 480

浅谈ES6 class实现React Class

使用ES6 class可以以一个JavaScript 类来定义React Class。   1、使用React.createClass: var Counter = React.createClass...
  • zhouziyu2011
  • zhouziyu2011
  • 2017-04-27 17:00:17
  • 1241
收藏助手
不良信息举报
您举报文章:es6常量用法
举报原因:
原因补充:

(最多只允许输入30个字)