Một số cách viết ngắn gọn code trong JS phần 1 (ok)
Code
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
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
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 parseInt và parseFloat để 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
Nguồn tham khảo: https://medium.com/javascript-in-plain-english/20-javascript-shorthand-techniques-that-will-save-your-time-f1671aab405f
Last updated