1
0
mirror of https://github.com/ruanyf/es6tutorial.git synced 2025-05-24 18:32:22 +00:00

docs(style): adjust style

This commit is contained in:
ruanyf 2016-04-29 09:25:11 +08:00
parent 202f04bc43
commit adefd4c365
2 changed files with 6 additions and 8 deletions

View File

@ -310,7 +310,7 @@ let f;
f() // "secret"
```
ES5的严格模式规定函数只能在顶层作用域和函数内声明其他情况比如if代码块、循环代码块的声明都会报错。
ES5的严格模式规定函数只能在顶层作用域和函数内声明其他情况比如`if`代码块、循环代码块)的声明都会报错。
```javascript
// ES5

View File

@ -1,6 +1,8 @@
# 编程风格
本章探讨如何将ES6的新语法运用到编码实践之中与传统的JavaScript语法结合在一起写出合理的、易于阅读和维护的代码。多家公司和组织已经公开了它们的风格规范具体可参阅[jscs.info](http://jscs.info/),下面的内容主要参考了[Airbnb](https://github.com/airbnb/javascript)的JavaScript风格规范。
本章探讨如何将ES6的新语法运用到编码实践之中与传统的JavaScript语法结合在一起写出合理的、易于阅读和维护的代码。
多家公司和组织已经公开了它们的风格规范,具体可参阅[jscs.info](http://jscs.info/),下面的内容主要参考了[Airbnb](https://github.com/airbnb/javascript)的JavaScript风格规范。
## 块级作用域
@ -20,7 +22,7 @@ for (let i = 0; i < 10; i++) {
}
```
上面代码如果用`var`替代`let`,实际上就声明了个全局变量,这显然不是本意。变量应该只在其声明的代码块内有效,`var`命令做不到这一点。
上面代码如果用`var`替代`let`,实际上就声明了个全局变量,这显然不是本意。变量应该只在其声明的代码块内有效,`var`命令做不到这一点。
`var`命令存在变量提升效用,`let`命令没有这个问题。
@ -60,10 +62,6 @@ const [a, b, c] = [1, 2, 3];
长远来看JavaScript可能会有多线程的实现比如Intel的River Trail那一类的项目这时`let`表示的变量,只应出现在单线程运行的代码中,不能是多线程共享的,这样有利于保证线程安全。
**3严格模式**
V8引擎只在严格模式之下支持`let`。结合前两点,这实际上意味着,将来所有的编程都是针对严格模式的。
## 字符串
静态字符串一律使用单引号或反引号,不使用双引号。动态字符串使用反引号。
@ -329,7 +327,7 @@ function handleThings(opts = {}) {
## Map结构
注意区分Object和Map只有模拟实体对象时才使用Object。如果只是需要`key: value`的数据结构使用Map结构。因为Map有内建的遍历机制。
注意区分Object和Map只有模拟现实世界的实体对象时才使用Object。如果只是需要`key: value`的数据结构使用Map结构。因为Map有内建的遍历机制。
```javascript
let map = new Map(arr);