编程风格
为了写出合理、易于阅读和维护的代码。从而规定一些风格规范。
块级作用域
用let
和const
取代var
声明变量。
var
命令存在变量提升效用,let
命令解决了这个问题。
在let
和const
之间,建议优先使用const
:
const
可以提醒阅读者,这个变量不应该改变。const
比较符合函数式编程思想,有利于分布式运算。- JavaScript 编译器会对
const
进行优化,多用const
有利于提高程序运行效率。
字符串
静态字符串一律使用单引号或反引号,不使用双引号。动态字符串使用反引号。
// bad
const str1 = "str1";
const str2 = "str2" + str1;
// good
const str1 = 'str1';
const str2 = `str2${str1}`
数组解构赋值
const arr = [2, 3, 4, 5];
// bad
const first = arr[0];
const second = arr[1];
// good
const [first, second] = arr;
const newArr = [...arr];
对象
单行定义的对象,最后一个成员不以逗号结尾。多行定义的对象,最后一个成员以逗号结尾。
const obj1 = {
key1:val1,
key2: val2,
}
const obj2 = {key1: val1, key2: val2,}
对象尽量静态化,一旦定义,就不得随意添加新的属性。如果添加属性不可避免,要使用Object.assign
方法。
// bad
const obj3 = {};
obj3.a = 0;
// good
Object.assign(obj3, {a: 0});
const obj4 = {a: null};
obj4.a = 0
对象的属性和方法,尽量采用简洁表达法,这样易于描述和书写。
let name = 'shaoin';
const person = {
name,
age: 98,
fn(val){
console.log(val);
},
}
函数
箭头函数代替常规函数形式。
(()=>{ console.log('立即执行函数') })();
[2, 3, 4].map((el)=>{ console.log('匿名函数') });
(opts = {}) =>{ console.log('默认参数函数')};
模块
使用import
取代require
。
// bad
const mod = require('modA');
const fun1 = mod.fun1;
const fun2 = mod.fun2;
//good
import { fun1, fun2 } from 'modA'
参考文献
阮一峰老师的 ECMAScript 6 入门
求点赞 求评论 求收藏 ~~ 今天的学习记录暂时到这... ~~ 求点赞 求评论 求收藏