ECMAScript 之 Const

栏目: JavaScript · 发布时间: 8年前

内容简介:ECMAScript 2015宣告常數於 block

const 也是 ECMAScript 2015+ 的代表 keyword,應盡量使用 const 避免 Side Effect,除非真的要修改變數。

Version

ECMAScript 2015

Definition

宣告常數於 block {} 內。

與 let 差異只有 let 是 變數 ,而 const 是 常數 ,且都是 block level

Scope

scope01.js

function constTest() {
  const x = 1;

  if (true) {
    x = 2;
    console.log(x);
  }

  console.log(x);
}

constTest();
// SyntaxError

與 let 一樣都是 block level,由於 x = 2 修改 x ,因此 SyntaxError。

scope02.js

const x = 'global';

console.log(window.x);
// undefined

在 global level 使用 const,也不會污染 DOM 的 window object。

Initialization

initialization01.js

const x;
x = 1;

console.log(x);
// SyntaxError

let 可先宣告,然後再給值,但 const 一定要 宣告同時給值 。

只能寫成

const x = 1;

console.log(x);
// 1

因為 const 強調不能被 reassign,因此 宣告同時給值 合理

Not Immutable

not-immutable.js

const data = {
  name: 'Sam'
};

data.name = 'Kevin';
console.log(data.name);
// Kevin

const 並不代表 data 是 Immutable,只代表變數不能被 reassign。

Define Function

define-function.js

const f = (x, y) => x + y;

console.log(f(1, 1));

理論上也可以使用 let 定義 function,但因為 function 經過定義後就不會被 reassign,所以實務上都是使用 const 。

Conclusion

const
const
const

Sample Code

完整的範例可以在我的 GitHub 上找到

Reference

MDN JavaScript , const


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

数据之美

数据之美

邱南森 (Nathan Yau) / 张伸 / 中国人民大学出版社 / 2014-2-1 / CNY 89.00

这是一本教我们如何制作完美可视化图表,挖掘大数据背后意义的书。作者认为,可视化是一种媒介,向我们揭示了数据背后的故事。他循序渐进、深入浅出地道出了数据可视化的步骤和思想。本书让我们知道了如何理解数据可视化,如何探索数据的模式和寻找数据间的关联,如何选择适合自己的数据和目的的可视化方式,有哪些我们可以利用的可视化工具以及这些工具各有怎样的利弊。 作者给我们提供了丰富的可视化信息以及查看、探索数......一起来看看 《数据之美》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

SHA 加密
SHA 加密

SHA 加密工具