js-ES6学习笔记-编程风格
Posted ZhangCui
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js-ES6学习笔记-编程风格相关的知识,希望对你有一定的参考价值。
1、ES6提出了两个新的声明变量的命令:let
和const
。其中,let
完全可以取代var
,因为两者语义相同,而且let
没有副作用。
2、var
命令存在变量提升效用,let
命令没有这个问题。建议不再使用var
命令,而是使用let
命令取代。
3、在let
和const
之间,建议优先使用const
,尤其是在全局环境,不应该设置变量,只应设置常量。 javascript 编译器会对const
进行优化,所以多使用const
,有利于提供程序的运行效率。所有的函数都应该设置为常量。
4、静态字符串一律使用单引号或反引号,不使用双引号。动态字符串使用反引号。
// bad const a = "foobar"; const b = ‘foo‘ + a + ‘bar‘; // acceptable const c = `foobar`; // good const a = ‘foobar‘; const b = `foo${a}bar`; const c = ‘foobar‘;
5、使用数组成员对变量赋值时,优先使用解构赋值。函数的参数如果是对象的成员,优先使用解构赋值。如果函数返回多个值,优先使用对象的解构赋值,而不是数组的解构赋值。这样便于以后添加返回值,以及更改返回值的顺序。
// bad function getFullName(user) { const firstName = user.firstName; const lastName = user.lastName; } // good function getFullName(obj) { const { firstName, lastName } = obj; } // best function getFullName({ firstName, lastName }) { }
6、单行定义的对象,最后一个成员不以逗号结尾。多行定义的对象,最后一个成员以逗号结尾。
如果对象的属性名是动态的,可以在创造对象的时候,使用属性表达式定义。
// bad const obj = { id: 5, name: ‘San Francisco‘, }; obj[getKey(‘enabled‘)] = true; // good const obj = { id: 5, name: ‘San Francisco‘, [getKey(‘enabled‘)]: true, };
7、使用扩展运算符(...)拷贝数组。
// bad const len = items.length; const itemsCopy = []; let i; for (i = 0; i < len; i++) { itemsCopy[i] = items[i]; } // good const itemsCopy = [...items];
8、使用Array.from方法,将类似数组的对象转为数组。
const foo = document.querySelectorAll(‘.foo‘);
const nodes = Array.from(foo);
以上是关于js-ES6学习笔记-编程风格的主要内容,如果未能解决你的问题,请参考以下文章