JS Standard

使用空格,而不使用tab

  • 除了行终止符外,在系统文件中,空格是唯一表示空白的字符,这意味着 tab 不能作为缩进使用。规定用2个空格(而不是4个)来表示缩进。

必不可少的分号

  • 每个语句都必须以分号结尾,不要依赖编译器自动插入分号。

不使用 var

  • 声明局部变量用 const 或者 let,默认使用 const,除非变量需要重新赋值。

箭头函数完美替代 function

  • 箭头函数不仅语法简洁易读,而且修复了 this 的问题,特别是在嵌套函数中。

用模板字符串替代字符串拼接

  • 用模板字符串(用 ` 分割)处理复杂的字符串,特别是处理多行的字符串。

不要用反斜杠对长字符串换行

  • 虽然 ES5 是允许这样做的,但是会带来诡异的错误,而且会对阅读代码的人带来误导

for 循环首选 “for… of”

  • 在 ES6 中,支持多种 for 循环写法,可能你都用过,但尽可能选用 for… of 吧。

不要使用 eval()

  • 不要使用 eval() (代码加载器除外),会带来潜在的不确定性,因为在 CSP 环境中无法工作。

常量用大写字母加下划线

  • 常量用大写字母加下划线表示,所有单词大写,下划线分割。

每次申明一个变量

  • 每次申明一个变量,不要写成 let a = 1, b = 2;

用单引号,不要用双引号

  • 普通的字符串用单引号分割(’),如果字符串中包含单引号,那么考虑用模板字符串。

命名

  • css类名,使用小写英文 + -
  • 函数,使用驼峰命名;

注释

  • 法律信息(例如版权及著作声明)
  • 提供信息的注释(例如解释某个抽象方法的返回值,当然更好的是在方法名中体现,从而省略注释)
  • 对意图的解释(对某些看起来与常理不符合的代码解释你的意图,如 sleep 函数)
  • 警示(警告执行后会出现某些后果的代码)
  • TODO 注释(告诉其他人这里还有个未完成的工作,以及将来完成后应该是怎么样的)
  • 避免
    • 多余的注释日志式注释(记录每次的修改日志,目前在源代码管理非常完善的今天,日志式注释应该被废弃了)
    • 注释掉的代码(不要直接注释掉代码!无用则请删除,注释而不是删除会让其他人误以为这段代码仍有用处)
    • 归属与署名(通过源代码管理,署名也是可以被废弃的)
    • 括号后面的注释(不要在括号后面写注释)
    • 信息过多(别在注释中添加无关紧要的信息)

Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.A new tool that blends your everyday work apps into one. It's the all-in-one workspace for you and your teamhttps://serious-lose.notion.site/JS-Standard-7b2e7b72e0da4678a9fd19cd74b6cd1a

你可能感兴趣的