Serials Javascript Style Guide – Semicolons

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…

Serials Javascript Style Guide – Control Statements

Control Statements Statements Trong trường hợp các lệnh điều khiển (if, while etc.) quá dài hoặc vượt quá độ dài tối đa cho phép, thì mỗi điều kiện (đã được nhóm lại) có thể đặt vào 1 dòng mới. Các toán tử logic nên đặt ở đầu dòng. Tại sao ư? Việc đặt các toán…

Serials Javascript Style Guide – Classes & Constructors

Classes & Constructors 9.1 Use class Luôn sử dụng class. Tránh thao tác trực tiếp prototype. Tại sao ư? class ngắn gọn và dễ hiểu hơn. // bad function Queue(contents = []) { this.queue = […contents]; } Queue.prototype.pop = function () { const value = this.queue[0]; this.queue.splice(0, 1); return value; }; // good class Queue…

Serials Javascript Style Guide – Arrow Functions

Arrow Functions 8.1 Use them Nếu thực sự phải dùng hàm vô danh (như khi truyền vào 1 callback), thì sử dụng hàm mũi tên. eslint: prefer-arrow-callback, arrow-spacing Tại sao ư? Vì nó tạo ra 1 phiên bản của hàm thực thi trong ngữ cảnh của this, thường là những gì bạn muốn và là…

Serials Javascript Style Guide – Functions

Functions 7.1 Declarations Sử dụng các biểu thức hàm được đặt tên thay vì khai báo hàm. eslint: func-style Tại sao ư? Sự khai báo hàm được gia tăng lên, nghĩa là nó dễ, quá dễ để tham chiếu hàm trước khi được định nghĩa trong file. Điều này làm giảm khả năng đọc và…

Serials Javascript Style Guide – Strings

Strings 6.1 Quotes Sử dụng dấu nháy đơn '' đối với strings. eslint: quotes // bad const name = "Capt. Janeway"; // bad – template literals should contain interpolation or newlines const name = `Capt. Janeway`; // good const name = 'Capt. Janeway'; 6.2 Line length Không nên nối chuỗi nếu chuỗi quá dài. Tại…

Serials Javascript Style Guide – Destructuring

Serials Javascript Style Guide – Destructuring Destructuring 5.1 Object Khi mà muốn sử dụng nhiều thuộc tính của object thì nên sử dụng object destructuring. eslint: prefer-destructuring Tại sao ư? Nhằm tránh tạo các temporary references // bad function getFullName(user) { const firstName = user.firstName; const lastName = user.lastName; return `${firstName} ${lastName}`; } // good…

Serials Javascript Style Guide – Arrays

Arrays 4.1 Literals Khi tạo mới array nên sử dụng literal syntax. eslint: no-array-constructor // bad const items = new Array(); // good const items = []; 4.2 Push Sử dụng Array#push thay vì gán trực tiếp các phần tử vào array. const someStack = []; // bad someStack[someStack.length] = 'abracadabra'; // good someStack.push('abracadabra'); 4.3…

Serials Javascript Style Guide – Objects

Objects 3.1 No new Sử dụng cú pháp nguyên thủy khi tạo mới 1 object. eslint: no-new-object // bad const item = new Object(); // good const item = {}; 3.2 Computed properties Sử dụng computed property names khi tạo mới object với tên thuộc tính động. Tại sao ư? Tập trung định nghĩa các…

Serials Javascript Style Guide – References

2. References 2.1 Prefer const Sử dụng const cho tất cả tham chiếu; tránh sử dụng var. eslint: prefer-const, no-const-assign Vì sao ư? Để tránh những bugs khó tái hiện do developer reassign lại tham chiếu thôi. // bad var a = 1; var b = 2; // good const a = 1; const b…