10 thủ thuật Javascript có thể bạn chưa biết

Với các lập trình viên JavaScript, những thủ thuật hay, đơn giản, dễ sử dụng dưới đây có thể giúp cải thiện quá trình thiết kế web của mình.

1) Luôn nhớ, hãy dùng === thay cho ==

Trong JavaScript, ta có thể dùng hai loại toán tử so sánh bằng: === (hay !==) và == (hay !=). Chúng tôi khuyên bạn chỉ nên dùng cái trước thôi. Cụ thể hơn, nếu cả hai toán hạng (operands) có cùng kểu và giá trị, code === sẽ cho kết quả true trong khi code !== sẽ cho kết quả false. Nếu bạn áp dụng code == (hay !=), bạn sẽ gặp nhiều vấn đề liên quan đến các kiểu toán hạng khác nhau; code == (hay !=) sẽ cố ép giá trị (một cách vô ích) khi thực thi chuyển đổi kiểu tự động.

Mặt khác toán tử === (hay !==) sẽ không chuyển đổi mà sẽ cân bằng giá trị và kiểu của toán hạng, nhanh hơn nhiều so với == (hay !=).

 

2) Use strict!

Xét tính hỗ trợ của trình duyệt, việc thêm lệnh “Use strict” thuộc ECMAScript 5 và được Safari 5.1+, Chrome 13+ và IE10 hỗ trợ. Khi thêm “Use strict”, trình duyệt có thể khắc phục một số lỗi coding như: tạo biến toàn cục (global variable); truy cập arguments.callee hay arguments.caller. Cách này giúp lập trình viên quản lý lỗi nhỏ/lớn dễ dàng hơn khi chương trình gặp trục trặc. “Use strict” có thể áp dụng với một phạm vi chức năng hoặc cả một file hoàn chỉnh.

3) Phương pháp xây dựng chuỗi (String) nhanh

Thay vì dùng câu lệnh “for” khi cần lặp (loop) qua array hay object, chuỗi code sau có thể hoàn thành nhiệm vụ nhanh hơn.

‘Dùng native methods (như join()) sẽ nhanh hơn phương pháp non-native, bất kể quá trình nào đang diễn ra sau lớp abstraction.’

– James Padolsey, james.padolsey.com

4) Hạn chế sử dụng try-catch-finally trong vòng lặp

Lệnh try-catch-finally sẽ tạo biến mới trong phạm vi nhất định khi catch clause được áp dụng. Đều này sẽ gây caught exception object gán với một biến số.

Immediately Invoked Function Expressions (IIFE) làm việc khi có cặp ngoặc đơn (‘) bao quanh anonymous function và hình thành function expression hay variable expression. Bạn sẽ sở hữu một function expression không tên với hiệu dụng riêng.

5) Ngăn nhiễm Global Scope bằng IIFE

Bằng kỹ thuật này, bạn hoàn toàn có thể tránh ra biến trong global scope. Kỹ thuật này thường được các thư viện, chuyên gia JavaScript và nhà phát triển JQuery chuyên dùng. IIFE cũng được khuyến khích sử dụng trong các ứng dụng cao cấp như main.js.

Áp dụng IIFE thế nào? Khi áp dụng lên global scope, IFFE sẽ giữ tất cả các biến cục bộ tại anonymous function, các biến ngoài global scope sẽ có thể block các biến xác định cùng tên khác.

6) Thực thi logic phức tạp bằng IIFE

Đây cũng là một phương pháp mạnh mẽ khác, bạn có thể thực thi logic phức tạp mà không cần gán tên function. Hãy chú ý đến 2 anonymous function trong câu lệnh điều kiện.

7) Dùng IIFE để tránh fold over

Khi dùng IIFE, bạn có thể dừng các bug thường gặp có thể close over trong loops. Tác dụng phụ của bug có thể được xóa bỏ bởi:

8) Cẩn thận với typeof, instanceof và constructor

typeof: một loại từ khóa trong JavaScript được tạo ra để trả về 1 String ( kiểu của biến là gì). Luôn nhớ rằng, typeof null sẽ trả ‘object’, và như đa số kiểu object (như array), sẽ trả lại ‘object’.

constructor: một phần của internal prototype property, có thể hủy bằng code

instanceof: một toán tử trong JavaScript có thể kiểm tra tất cả chuỗi prototype. Hàm dựng được trả về sẽ là true nếu tìm được và false khi không tìm được.

9) Tạo thói quen tự đánh giá code

Nhiều người sẽ cảm thấy hơi bất tiện, nhưng tự đánh giá code càng nhiều, bạn sẽ nhận được ra càng nhiều thứ. Ví dụ như, sau một khoảng thời gian dài, hãy nhìn lại những đoạn code đã viết, bạn sẽ giật mình khi không còn nhớ code của mình làm được những gì!

10) Cuối cùng, đừng nên dùng lệnh ‘with’

Câu lệnh ‘With’ tưởng chừng như rất hay. Với ‘with’ coder có thể dùng shortcut truy cập intricate object. ví dụ như:

thay vì

Tjuy nhiên, coder sẽ rất lúng túng khi lập member mới. Theo tôi, bạn nên dùng var thay cho with

Trên đây là 10 thủ thuật bạn nên sử dụng với JavaScript. Nếu bạn có bất cứ phản đối nào, hay muốn chia sẻ thêm kinh nghiệm của bản thân, đừng ngần ngại comment bên dưới!

Chia sẻ bài viết ngay