ECMAScript 之 Const
栏目: JavaScript · 发布时间: 7年前
内容简介: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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
C算法(第二卷:图算法)(第3版)
塞德威克(Sedgewick Robert) / 周良忠 / 第1版 (2004年1月1日) / 2004-4 / 38.0
《C算法(第2卷)(图算法)(第3版)(中文版)》所讨论的图算法,都是实际中解决图问题的最重要的已知方法。《C算法(第2卷)(图算法)(第3版)(中文版)》的主要宗旨是让越来越多需要了解这些算法的人的能够掌握这些方法及基本原理。书中根据基本原理从基本住处开始循序渐进地讲解,然后再介绍一些经典方法,最后介绍仍在进行研究和发展的现代技术。精心挑选的实例、详尽的图示以及完整的实现代码与正文中的算法和应用......一起来看看 《C算法(第二卷:图算法)(第3版)》 这本书的介绍吧!