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

MDN JavaScript , const


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

查看所有标签

猜你喜欢:

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

The Haskell School of Music

The Haskell School of Music

Paul Hudak、Donya Quick / Cambridge University Press / 2018-10-4 / GBP 42.99

This book teaches functional programming through creative applications in music and sound synthesis. Readers will learn the Haskell programming language and explore numerous ways to create music and d......一起来看看 《The Haskell School of Music》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

SHA 加密
SHA 加密

SHA 加密工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具