Serials Javascript Style Guide – Semicolons

  Javascript    —  2019, May 28    

Semicolons

Required

Luôn dùng. eslint: semi

Tại sao ư? Khi Javascript gặp 1 dòng mà không có dấu chấm phẩy, thì nó sẽ mặc định sử dụng quy tắc gọi là Automatic Semicolon Insertion để cân nhắc xem đó là kết thúc của câu lệnh hay không, và nó ngầm hiểu là sẽ thêm dấu chấm phẩy khi xuống dòng. ASI có 1 vài các hành vi sai lệch và dẫn tới code sẽ bị hỏng nếu Javascript hiểu sai xuống dòng. Những quy tắc này sẽ trở nên phức tạp hơn vì các tính năng trở thành 1 phần của Javascript. Nếu không muốn gặp phải bug bất thình lình thì bạn nên sử dụng linter để check việc thiếu dấu chấm phẩy.

// bad - raises exception
const luke = {}
const leia = {}
[luke, leia].forEach(jedi => jedi.father = 'vader')

// bad - raises exception
const reaction = "No! That’s impossible!"
(async function meanwhileOnTheFalcon() {
  // handle `leia`, `lando`, `chewie`, `r2`, `c3p0`
  // ...
}())

// bad - returns `undefined` instead of the value on the next line - always happens when `return` is on a line by itself because of ASI!
function foo() {
  return
    'search your feelings, you know it to be foo'
}

// good
const luke = {};
const leia = {};
[luke, leia].forEach((jedi) => {
  jedi.father = 'vader';
});

// good
const reaction = "No! That’s impossible!";
(async function meanwhileOnTheFalcon() {
  // handle `leia`, `lando`, `chewie`, `r2`, `c3p0`
  // ...
}());

// good
function foo() {
  return 'search your feelings, you know it to be foo';
}

Đọc thêm.

Tổng hợp Serial Javascript Style Guide