9 tuyệt kỹ “hack” JavaScript mà bạn nên biết

43646

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