Một số cách viết ngắn gọn code trong JS phần 1 (ok)

Code

// viết dài 
let imagePath;
let path = getImagePath();
if (path !== null && path !== undefined && path !== '') {
	imagePath = path;
} else {
	imagePath = 'default.jpg';
}
// viết gọn  
let imagePath = getImagePath() || 'default.jpg';

Một số cách viết ngắn gọn code trong JS

Hôm nay mình sẽ giới thiệu một số cách viết ngắn gọn code trong JS để trông ngắn gọn và đẹp hơn.

Khai báo biến

// viết dài (đây là cách mình thấy nhiều ng hay dùng nhất :)
let x; 
let y = 2; 

// viết gọn 
let x, y = 2;

Gán giá trị cho nhiều biến

Ta có thể gán giá trị cho nhiều biến sử dụng cấu trúc mảng.

Toán tử bậc 3

Thay vì dùng câu lệnh if-else ta có thể dùng toán tử bậc 3 để viết ngắn gọn hơn

Gán giá trị mặc định

Ta có thể dùng OR (||) để gán giá trị mặc định cho 1 biến trong trường hợp giá trị mong đợi trả về là rỗng

AND (&&)

Nếu chúng ta muốn gọi 1 hàm khi mà 1 biến nào đó là true.

Hoán đổi

Thông thường khi hoán đổi 2 giá trị cho nhau chúng ta thường sử dụng thêm 1 phần tử thứ 3 nữa để gán (cách cổ điển ngày xưa hay làm😂). Nhưng trong JS việc hoán đổi dễ dàng hơn với phép gán cấu trúc mảng

Arrow Function

Nối giá trị vào string

Ta sẽ sử dụng toán tử + để nối các giá trị string với các biến.

Kiểm tra nhiều điều kiện

Object Property Assignment

Nếu tên biến và tên object key trùng nhau, ta có thể chỉ cần viết tên biến, JavaScript sẽ tự động tạo key giống như tên biến và gán giá trị dưới dạng giá trị biến.

Convert chuỗi thành số

Thông thường ta sẽ hay dùng hàm parseIntparseFloat để chuyển đổi kiểu chuỗi sang số. Tuy nhiên cách ngắn hơn là ta dùng dấu + đằng trước chuỗi đó.

Lặp lại chuỗi nhiều lần

Thay vì dùng vòng lặp for ta có thể dùng hàm repeat() để nhanh vào gọn hơn

Mũ lũy thừa

Bình thường mọi người hay dùng hàm Math.pow() để tính mũ lũy thừa, nhưng thay vào đó ta có thể dùng cú pháp (**) để trong dòng code trong gọn nhẹ hơn

Toán tử kép (~~)

Toán tử naỳ thay cho phương thức Math.floor()

Phương pháp toán tử kép ( ~~ ) chỉ hoạt động với số nguyên 32 bit, tức là (2 ^31) - 1 = 2147483647. Vì vậy, đối với số lớn hơn 2147483647, toán tử này sẽ cho kết quả sai, khi đó chúng ta nên sử dụng Math.floor() trong trường hợp đó.

Tìm Max, Min trong mảng

Chúng ta có thể sử dụng vòng lặp for để lặp qua từng giá trị của mảng và tìm giá trị max hoặc min. Hoặc cũng có thể sử dụng method Array.reduce() để tìm max và min trong mảng. Nhưng có cách nhanh hơn nữa đó là sử dụng spread operator nhìn sẽ gọn hơn rất nhiều

Merge mảng

Thanks for reading💖

Nguồn tham khảo: https://medium.com/javascript-in-plain-english/20-javascript-shorthand-techniques-that-will-save-your-time-f1671aab405f

Last updated