9 tuyệt kỹ “hack” JavaScript mà bạn nên biết
JavaScript – Hẳn anh em nào cũng thích việc tối ưu hóa sản phẩm. Nhưng người dùng không quan tâm đến code có được tối ưu hóa hay không, mà họ chỉ quan tâm trang web có chạy được trên Internet Explorer 11 hay không.
Thế nên tôi đã sử dụng Endtest để tạo các bài test tự động và cho chúng test chéo trên đám mây trình duyệt (cross-browser cloud).
Netflix cũng sử dụng nền tảng tương tự để kiểm tra các ứng dụng web của họ.
Nó thậm chí còn được liệt kê trong danh sách kỹ năng yêu cầu của các vị trí.
Endtest có một số tính năng thực sự hay, chẳng hạn như:
• Lưới trình duyệt chéo, chạy thử trên Windows và macOS
• Chế độ Codeless Editor cho các bài test tự động
• Hỗ trợ cho các ứng dụng web
• Hỗ trợ cho cả ứng dụng Android, iOS native và hybrid
• Quay lại video cho các lần chạy thử của bạn không giới hạn
• So sánh ảnh chụp màn hình
• Geolocation (Định vị)
• If Statements (Câu lệnh if)
• Loops (Vòng lặp)
• Cho phép upload file trong bài test của bạn
• API Endtest, dễ dàng tích hợp với hệ thống CI/CD của bạn
• Advanced Assertions
• Thực hiện mobile test trên các thiết bị di động thực
• Thực hiện email test với hộp thư của Endtest
1. Replace All
Chúng ta biết rằng hàm string.replace() chỉ thay thế lần xuất hiện đầu tiên. Bạn có thể thay thế tất cả các lần xuất hiện khác bằng cách thêm /g vào cuối regex.
var example = "potato potato"; console.log(example.replace(/pot/, "tom")); // "tomato potato" console.log(example.replace(/pot/g, "tom")); // "tomato tomato"
Như vậy sẽ tiết kiệm thời gian hơn.
2. Extract Unique Values
Chúng ta có thể tạo một mảng mới với các giá trị duy nhất bằng cách sử dụng đối tượng Set và toán tử Spread.
var entries = [1, 2, 2, 3, 4, 5, 6, 6, 7, 7, 8, 4, 2, 1] var unique_entries = [...new Set(entries)]; console.log(unique_entries); // [1, 2, 3, 4, 5, 6, 7, 8]
Tham khảo các việc làm Javascript không yêu cầu KN cho bạn tại đây
3. Convert number to string
Chúng ta chỉ cần sử dụng toán tử ghép (concatenation) với một bộ dấu ngoặc kép trống.
var converted_number = 5 + ""; console.log(converted_number); // 5 console.log(typeof converted_number); // string
4. Convert string to number
Tất cả những gì chúng ta cần là toán tử “+”. Hãy cẩn thận với cái này vì nó chỉ hoạt động với ‘string numbers’.
the_string = "123"; console.log(+the_string); // 123 the_string = "hello"; console.log(+the_string); // NaN
5. Shuffle elements from array
Every day I’m shufflin’
var my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]; console.log(my_list.sort(function() { return Math.random() - 0.5 })); // [4, 8, 2, 9, 1, 3, 6, 5, 7]
6. Flatten multidimensional array
Đơn giản chỉ là sử dụng toán tử Spread.
var entries = [1, [2, 5], [6, 7], 9]; var flat_entries = [].concat(...entries); // [1, 2, 5, 6, 7, 9]
7. Short Circuit Conditionals
Hãy xem qua ví dụ này là bạn hiểu ngay:
if (available) { addToCart(); }
Và rút ngắn nó bằng cách sử dụng biến cùng với hàm:
available && addToCart()
8. Dynamic Property Names
Tôi luôn nghĩ rằng trước tiên tôi phải khai báo một object trước khi có thể gán một thuộc tính dynamic vào.
const dynamic = 'flavour'; var item = { name: 'Coke', [dynamic]: 'Cherry' } console.log(item); // { name: "Coke", flavour: "Cherry" }
9. Use length to resize/empty an array
Đôi điều cơ bản về việc ghi đè lên độ dài của mảng.
Nếu chúng tôi muốn thay đổi kích thước mảng:
var entries = [1, 2, 3, 4, 5, 6, 7]; console.log(entries.length); // 7 entries.length = 4; console.log(entries.length); // 4 console.log(entries); // [1, 2, 3, 4]
Nếu bạn muốn làm trống mảng:
var entries = [1, 2, 3, 4, 5, 6, 7]; console.log(entries.length); // 7 entries.length = 0; console.log(entries.length); // 0 console.log(entries); // []
Tôi nghĩ thật tuyệt khi bạn biết những chiêu “hack” JavaScript này, nhưng bạn nếu không chắc ứng dụng web của bạn hoạt động chính xác trên tất cả các trình duyệt và thiết bị.
Bạn có thể sử dụng Endtest để nhanh chóng tạo các bài test tự động và thực hiện chúng trên cross-browser cloud.
Bạn thậm chí không phải viết code để sử dụng nó.
Bài viết gốc được đăng tải tại dev.to
Tham khảo các vị trí tuyển dụng ngành cntt tại Topdev
- B BenQ RD Series – Dòng Màn Hình Lập Trình 4k+ Đầu Tiên Trên Thế Giới
- F Framework nào tốt nhất cho dự án của bạn? – Checklist chi tiết
- K Kinh nghiệm xử lý responsive table hiệu quả
- S Stackoverflow là gì? Bí kíp tận dụng Stack Overflow hiệu quả
- 7 7 kinh nghiệm hữu ích khi làm việc với GIT trong dự án
- B Bài tập Python từ cơ bản đến nâng cao (có lời giải)
- B Bảo mật API là gì? Một số nguyên tắc và kỹ thuật cần biết
- H Hướng dẫn cài đặt và tự học lập trình Python cơ bản từ A-Z
- C Chinh Phục Phân Tích Dữ Liệu Với Pandas Trong Python: Hướng Dẫn Từng Bước
- D Display CSS là gì? Cách khai báo và sử dụng thuộc tính display trong CSS