基本书写
使用两个空格进行缩进
不要混合使用空格与制表符作为缩进
function hello (name) {
console.log('hi', name) // ✓ 正确
console.log('hello', name) // ✗ 错误
}
除了缩进,不要使用多个空格
const id = 1234 // ✗ 错误
const id = 1234 // ✓ 正确
不要在句末使用分号
const a = 'a' // ✓ 正确
const a = 'a'; // ✗ 错误
字符串统一使用单引号
console.log('hello there')
// 如果遇到需要转义的情况,请按如下三种写法书写
const x = 'hello "world"'
const y = 'hello \'world\''
const z = `hello 'world'`
代码块中避免多余留白
if (user) {
// ✗ 错误
const name = getName()
}
if (user) {
const name = getName() // ✓ 正确
}
关键字后面加空格
if (condition) { ... } // ✓ 正确
if(condition) { ... } // ✗ 错误
函数声明时括号与函数名间加空格
function name (arg) { ... } // ✓ 正确
function name(arg) { ... } // ✗ 错误
run(function () { ... }) // ✓ 正确
run(function() { ... }) // ✗ 错误
展开运算符与它的表达式间不要留空白
fn(... args) // ✗ 错误
fn(...args) // ✓ 正确
遇到分号时空格要后留前不留
for (let i = 0 ;i < items.length ;i++) {...} // ✗ 错误
for (let i = 0; i < items.length; i++) {...} // ✓ 正确
代码块首尾留空格
if (admin){...} // ✗ 错误
if (admin) {...} // ✓ 正确
圆括号间不留空格
getName( name ) // ✗ 错误
getName(name) // ✓ 正确
属性前面不要加空格
user .name // ✗ 错误
user.name // ✓ 正确
一元运算符前面跟一个空格
typeof!admin // ✗ 错误
typeof !admin // ✓ 正确
注释首尾留空格
//comment // ✗ 错误
// comment // ✓ 正确
/*comment*/ // ✗ 错误
/* comment */ // ✓ 正确
模板字符串中变量前后不加空格
const message = `Hello, ${ name }` // ✗ 错误
const message = `Hello, ${name}` // ✓ 正确
逗号后面加空格
// ✓ 正确
const list = [1, 2, 3, 4]
function greet (name, options) { ... }
// ✗ 错误
const list = [1,2,3,4]
function greet (name,options) { ... }
不允许有连续多行空行
// ✓ 正确
const value = 'hello world'
console.log(value)
// ✗ 错误
const value = 'hello world'
console.log(value)
单行代码块两边加空格
function foo () {return true} // ✗ 错误
function foo () { return true } // ✓ 正确
if (condition) { return true } // ✓ 正确
不要使用非法的空白符
function myFunc () /*<NBSP>*/{} // ✗ 错误
始终将逗号置于行末
const obj = {
foo: 'foo'
,bar: 'bar' // ✗ 错误
}
const obj = {
foo: 'foo',
bar: 'bar' // ✓ 正确
}
点号操作符须与属性需在同一行
console.log('hello') // ✓ 正确
console.
log('hello') // ✗ 错误
console
.log('hello') // ✓ 正确
文件末尾留一空行
函数调用时标识符与括号间不留间隔
console.log ('hello') // ✗ 错误
console.log('hello') // ✓ 正确
键值对当中冒号与值之间要留空白
const obj = { 'key' : 'value' } // ✗ 错误
const obj = { 'key' :'value' } // ✗ 错误
const obj = { 'key':'value' } // ✗ 错误
const obj = { 'key': 'value' } // ✓ 正确