es6的一些编程风格

下面是一些我收集的资料,算是给自己做个笔记吧

一.let和var的区别

1.let只在块级作用域中有效,就是在if和for中有效,在外面console.log它们就会报错,但var则是全局有效
if (true) { let x = 'hello'; } for (let i = 0; i < 10; i++) { console.log(i); }
2.使用let不会有变量提升,会有暂时性死区
(在代码块内,使用let命令声明变量之前,该变量都是不可用的。这在语法上,叫“暂时性死区”(temporal dead zone,简称 TDZ))
console.log(a); // 使用var当前的a变量是下面变量a声明提升后,默认值undefined, 使用let会报错 var a = 10;

3.let变量不能重复声明否则会报错,但var可以,默认以最后一个为准

二.const比let的优势
1.建议优先使用const,尤其是在全局环境,不应该设置变量,只应设置常量
2.阅读代码的人立刻会意识到不应该修改这个值
3.防止了无意间修改变量值所导致的错误

三.字符串的风格
字符串应该尽量使用单引号'',动态组合的字符串用反引号``,尽量不用双引号
// bad
const a = "foobar";
const b = 'foo' + a + 'bar';  // acceptable const c = `foobar`;  // good const a = 'foobar'; // 单个字符串 const b = `foo${a}bar`; // 动态字符串
四.结构赋值
1.使用数组成员对变量赋值时,优先使用解构赋值
// good
const [first, second] = arr;

2.函数的参数如果是对象的成员,优先使用解构赋值
// best
function getFullName({ firstName, lastName }) { }

3.如果函数返回多个值,优先使用对象的解构赋值,而不是数组的解构赋值
// good
function processInput(input) { return { left, right, top, bottom }; }

五.对象
单行定义的对象,最后一个成员不以逗号结尾。多行定义的对象,最后一个成员以逗号结尾。
// bad
const a = { k1: v1, k2: v2, }; const b = { k1: v1, k2: v2 };  // good const a = { k1: v1, k2: v2 }; const b = { k1: v1, k2: v2, };














 

猜你喜欢

转载自www.cnblogs.com/zhanyuefeixian/p/11868821.html