Get in touch
or send us a question?
CONTACT

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

Hẳn ông IT nào cũng thích việc tối ưu hóa sản phẩm. 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) để xem điều bất ngờ nhé! 

Nếu bạn muốn trở thành một nhà phát triển web front-end, bạn cần có kiến thức vững chắc về cả ba ngôn ngữ dưới đây! 

HTML, hay hypertext markup language (ngôn ngữ đánh dấu siêu văn bản), được sử dụng để đưa nội dung lên một trang. Nó cho phép bao gồm những thứ như văn bản, hình ảnh, liên kết và thậm chí cả video. Ví dụ: HTML sẽ cho phép bạn đặt nút đăng nhập ở một vị trí nhất định trên trang web của bạn.

CSS, được sử dụng để định kiểu nội dung đã được chèn bằng HTML. Theo ví dụ trên, CSS sẽ cho phép bạn thay đổi hình dạng, kích thước, màu sắc và kiểu của nút đăng nhập mà bạn đã thêm bằng HTML.

JavaScript, cho phép bạn lấy các yếu tố web thông thường và làm cho chúng mang tính tương tác. Nó có thể được sử dụng cùng với HTML và CSS và là một công cụ cực kỳ quan trọng đối với bất kỳ nhà phát triển web nào. Để hoàn thành ví dụ trên, code JavaScript sẽ được sử dụng để làm cho nút đăng nhập của bạn thực hiện các hành động bắt buộc (đăng nhập người dùng khi nhấp vào).

Một trong những công nghệ được săn đón hàng đầu bởi các nhà tuyển dụng hiện nay chính là JavaScript. Nếu bạn biết những chiêu “hack” JavaScript dưới đây khâu hoàn tất sản phẩm sẽ trở nên dễ dnafg hơn. Bên cạnh đó, để biết website của bạn có 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. Cùng theo dõi 9 thủ thuật này nhé! 

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]

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);// 123the_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); // []