From c108637656ee81c44dd09135307967c41859b49c Mon Sep 17 00:00:00 2001 From: ruanyf Date: Fri, 24 Feb 2017 21:53:41 +0800 Subject: [PATCH] docs(let): edit const --- docs/let.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/let.md b/docs/let.md index e0d1802..866f482 100644 --- a/docs/let.md +++ b/docs/let.md @@ -484,6 +484,8 @@ let x = do { ## const 命令 +### 基本用法 + `const`声明一个只读的常量。一旦声明,常量的值就不能改变。 ```javascript @@ -537,6 +539,8 @@ const message = "Goodbye!"; const age = 30; ``` +### 本质 + `const`实际上保证的,并不是变量的值不得改动,而是变量指向的那个内存地址不得改动。对于简单类型的数据(数值、字符串、布尔值),值就保存在变量指向的那个内存地址,因此等同于常量。但对于复合类型的数据(主要是对象和数组),变量指向的内存地址,保存的只是一个指针,`const`只能保证这个指针是固定的,至于它指向的数据结构是不是可变的,就完全不能控制了。因此,将一个对象声明为常量必须非常小心。 ```javascript @@ -588,6 +592,8 @@ var constantize = (obj) => { }; ``` +### ES6 声明变量的六种方法 + ES5 只有两种声明变量的方法:`var`命令和`function`命令。ES6除了添加`let`和`const`命令,后面章节还会提到,另外两种声明变量的方法:`import`命令和`class`命令。所以,ES6 一共有6种声明变量的方法。 ## 顶层对象的属性