10 Thủ thuật JavaScript: Nâng cấp độ thông thạo ngay

Ngày đăng: 07/01/2021   -    Cập nhật: 28/01/2021
Nếu bạn tối ưu code JavaScript của mình bằng các thủ thuật này, nó có thể giúp bạn viết code sạch hơn, tiết kiệm tài nguyên và tối ưu hóa thời gian lập trình của bạn.


Theo RedMonk, JavaScript là ngôn ngữ lập trình phổ biến nhất. Hơn nữa, SlashData ước tính rằng khoảng 12,4 triệu lập trình viên đang sử dụng JavaScript, bao gồm cả CoffeeScript và Microsoft’s TypeScript.


Điều này có nghĩa là hàng triệu người đang sử dụng JavaScript hàng ngày để làm việc với tư cách là lập trình viên.


Họ có thể đang làm việc tại các team nhỏ cho đến các doanh nghiệp hàng đầu hoặc làm freelancer thông qua các trang web như UpWork và Freelancer, hoặc thậm chí bắt đầu kinh doanh riêng với nghề lập trình web của họ.


NIIT - ICT Hà Nội có một hướng dẫn JavaScript cơ bản (ĐỦ DÙNG). Tuy nhiên, nếu bạn đã quen thuộc với các nguyên tắc cơ bản và muốn nâng cao độ thông thạo JavaScript của mình, thì đây là 10 Thủ thuật JavaScript bạn nên học và tích hợp vào quá trình code của bạn ngay.



10 Thủ thuật JavaScript: Nâng cấp độ thông thạo ngay


Thủ thuật JS #1: Viết tắt câu điều kiện trong JavaScript



JavaScript cho phép bạn sử dụng một số phím tắt nhất định để làm cho code của bạn dễ nhìn hơn. Trong một số trường hợp đơn giản, bạn có thể sử dụng toán tử logic &&|| thay vì if và else.


Hãy xem toán tử && hoạt động thế nào qua ví dụ sau:




// Thay vì
if (x) {
    console.log(x);
}
// Thì chúng ta viết tắt như sau:
x && console.log(x);
 


Còn toán tử || hoạt động như một mệnh đề “hoặc”. Sử dụng toán tử này phức tạp hơn một chút vì nó có thể ngăn ứng dụng thực thi.


Tuy nhiên, để tránh điều này, chúng ta có thể thêm một điều kiện để vượt qua nó.


Ví dụ:




// Thay vì
if (x) {
    return x;
else {
    return "Không thấy x ở đâu ợ";
}
// Thì chúng ta viết tắt như sau:
return (x || "Không thấy x ở đâu ợ");
 


Thủ thuật JS #2: Sử dụng toán tử ~~ để chuyển đổi thành số nguyên



Bạn có thể loại bỏ số thập phân để trả về một số nguyên bằng cách sử dụng math.floor hoặc math.round . Nhưng cách này sẽ chiếm nhiều tài nguyên.


Một cách hiệu quả hơn là sử dụng toán tử ~~


Ví dụ:




// Thay vì sử dụng 
math.round(math.random * 50)

// Ta sử dụng toán tử ~~ để làm tròn
~~(math.random * 50)
 


Bạn cũng có thể sử dụng toán tử ~~ để chuyển đổi bất kỳ thứ gì thành giá trị số.



~~("niithanoi.edu.vn"// 0
~~(NaN// 0
 


Thủ thuật JS #3: Thay đổi kích thước hoặc làm trống mảng bằng array.length



Đôi khi bạn cần điều chỉnh kích thước mảng của mình hoặc làm trống nó. Cách hiệu quả nhất để làm điều này là sử dụng array.length.


Ví dụ:




// Ta có một mảng đơn giản
var array = [123456];

// Độ dài của mảng hiện tại
console.log(array.length); // Kết quả: 6

// Điều chỉnh độ dài của mảng về 4
array.length = 4;

// Kiểm tra lại độ dài của mảng
console.log(array.length); // Kết quả: 4

// Lúc này thử in ra mảng
console.log(array); // Kết quả: [1, 2, 3, 4]
 


Bạn cũng có thể sử dụng array.length để xóa tất cả các giá trị khỏi một mảng được chỉ định.


Đoạn code ví dụ:




// Ta có một mảng đơn giản
var array = [123456];

// Làm trống mảng với array.length
array.length = 0;

// Độ dài mảng hiện tại là:
console.log(array.length); // Kết quả: 0

// Thử in ra mảng hiện tại:
console.log(array); // Không có gì
 


Thủ thuật JS #4: Cách hợp nhất mảng mà không gây quá tải cho máy chủ



Khi hợp nhất các mảng, nó có thể gây quá tải cho máy chủ, đặc biệt nếu bạn đang xử lý các tập dữ liệu lớn.


Để giữ mọi thứ đơn giản và duy trì mức hiệu suất, hãy sử dụng các hàm array.concat()array.push.apply(arr1, arr2).


Việc sử dụng một trong hai hàm này tùy thuộc vào kích thước mảng của bạn.


Hãy xem cách xử lý các mảng nhỏ.


Đoạn code ví dụ:




// Ta có 2 mảng đơn giản
var list1 = [1234];
var list2 = [5678];

// Hợp nhất mảng và in ra console
console.log(list1.concat(list2));

// Kết quả trả về là một mảng mới
// [1, 2, 3, 4, 5, 6, 7, 8]
 


Khi sử dụng hàm array.concat() trên các tập dữ liệu lớn hơn, nó sẽ tiêu tốn rất nhiều bộ nhớ trong khi tạo một mảng mới.


Để khắc phục sự sụt giảm hiệu suất, hãy sử dụng array.push.apply(arr1, arr2) để hợp nhất mảng thứ hai vào mảng đầu tiên mà không cần tạo mảng mới.


Đoạn code ví dụ:




// Ta có 2 mảng đơn giản
var list1 = [1234];
var list2 = [5678];

// Hợp nhất list2 vào list1
list1.push.apply(list1list2);

// Thử kiểm tra list1 hiện tại
console.log(list1);
// [1, 2, 3, 4, 5, 6, 7, 8]
 


Thủ thuật JS #5: Cách sử dụng hàm filter với mảng



Khi làm việc với nhiều cột dữ liệu bạn sẽ cần phải lọc theo các đặc điểm để lấy được dữ liệu cần thiết.


Để lọc một mảng trong JavaScript, hãy sử dụng hàm filter()


Đoạn code ví dụ:




const sinhVien = [
    { ten: "Khánh"tuoi: 18 },
    { ten: "Đức"tuoi: 20 },
    { ten: "Thoa"tuoi: 21 },
    { ten: "Hà"tuoi: 18 },
    { ten: "Hương"tuoi: 18 }
]

// Lọc sinh viên có tuổi bằng 18
const sinhVien18Tuoi = sinhVien.filter(sv => sv.tuoi === 18);

// In ra kết quả ở dạng bảng
console.table(sinhVien18Tuoi); 
 


> Tìm hiểu chi tiết hơn về filter() trong JavaScript


Thủ thuật JS #6: Trích xuất giá trị duy nhất



Giả sử bạn có một tập dữ liệu gồm các giá trị lặp lại và bạn cần tạo ra các giá trị duy nhất từ ​​tập hợp này.


Bạn có thể làm như vậy với sự kết hợp của toán tử spread ... và kiểu đối tượng set. Cách tiếp cận này hoạt động với cả từ và số.


Đoạn code ví dụ:




const hangOto = [
    'Vinfast',
    'BMW',
    'Kia',
    'Vinfast',
    'Vinfast',
    'Kia'
];

// Trích xuất giá trị duy nhất
var hangOtoDuyNhat = [...new Set(hangOto)];

// In ra để kiểm tra kết quả
console.log(hangOtoDuyNhat);
 


> Tìm hiểu chi tiết hơn về toán tử Spread trong JavaScript


Thủ thuật JS #7: Cách viết tắt hàm replace()



Bạn nên làm quen cách sử dụng hàm string.replace(). Tuy nhiên, nó chỉ thay thế một chuỗi bằng một dòng được chỉ định một lần và dừng lại từ đó.


Giả sử bạn có tập dữ liệu lớn hơn và bạn cần nhập hàm này nhiều lần thì sao?


Nó sẽ rất mất công.


Để làm cho công việc của bạn dễ dàng hơn, bạn có thể thêm /g vào cuối regex, để hàm chạy và thay thế tất cả các điều kiện phù hợp mà không dừng lại ở điều kiện đầu tiên.


Ví dụ:




var textMau = "Học lập trình wed để làm wedsite";

// Thay thế 1 lần
console.log(textMau.replace(/wed/"web"));

// Thay thế tất cả các từ được tìm thấy
console.log(textMau.replace(/wed/g"web"));
 


Thủ thuật JS #8: Lưu biến vào bộ nhớ đệm để tối ưu hiệu suất



Khi bạn đang làm việc với các mảng lớn và cần lấy các phần tử theo ID bằng getElementById() hoặc theo tên lớp bằng getElementsByClassName(), thì JavaScript phải chạy qua mảng trên một vòng lặp với mỗi câu lệnh tương tự.


Điều này có thể chiếm rất nhiều tài nguyên của bạn.


Để tránh điều này và tăng hiệu suất, bạn có thể lưu vào bộ nhớ đệm một biến nếu bạn biết mình thường xuyên sử dụng.


Đoạn code ví dụ:




var carSerial = serials.getElementById('serial1234');
carSerial.addClass('cached-serial1234');
 


Thủ thuật JS #9: Cách kiểm tra xem một đối tượng có giá trị hay không



Khi bạn đang làm việc với nhiều đối tượng, sẽ khó theo dõi xem đối tượng nào chứa giá trị thực và đối tượng nào bạn có thể xóa.


Dưới đây là một thủ thuật nhanh về cách kiểm tra xem một đối tượng trống hay có giá trị bằng hàm Object.keys().


Đoạn code ví dụ:




// Nếu nó trả về 0 thì đối tượng trống
// Nếu không nó sẽ hiển thị số lượng giá trị
Object.keys(objectName).length;
 


Thủ thuật JS #10: Cách thu nhỏ tệp JavaScript của bạn



Các tệp JS lớn ảnh hưởng đến hiệu suất tải và thời gian phản hồi trang.


Trong khi lập trình của bạn, bạn có thể đã bỏ lại các dòng, nhận xét và code không cần thiết. Tùy thuộc vào kích thước tệp của bạn nó có trở thành một nút thắt cổ chai.


Nhưng đừng lo, có một số công cụ giúp bạn làm sạch code và làm cho các tệp JS nhẹ hơn - hoặc giảm thiểu chúng, theo điều kiện.


Mặc dù việc thu nhỏ tệp JS không phải là mẹo gì cả, nhưng điều này vẫn có lợi cho các lập trình viên khi biết và triển khai.


Một là Google Closure Compiler, phân tích cú pháp JavaScript của bạn, phân tích nó, loại bỏ code chết, viết lại và giảm thiểu code.


Cái thứ hai là Microsoft Ajax Minifier, cho phép bạn cải thiện hiệu suất của ứng dụng web bằng cách giảm kích thước tệp JavaScript của bạn.



Tổng kết



Trên đây là 10 Mẹo JavaScript giúp bạn nâng cấp độ thông thạo JS của mình. Sử dụng 10 Mẹo này một cách phù hợp hi vọng sẽ giúp cho code của bạn sạch hơn, tiết kiệm tài nguyên và thời gian hơn.


Chúc bạn code tốt!


> Nếu kỹ năng Front end của bạn đã đủ dùng, bạn có thể tham khảo khóa học LẬP TRÌNH JAVA WEB hoặc LẬP TRÌNH WEB PHP để bổ sung kiến thức Back end cho mình, hướng tới trình độ Full stack với nhiều cơ hội hơn.


---
HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI
Học Lập trình chất lượng cao (Since 2002). Học thực tế + Tuyển dụng ngay!
Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội
SĐT: 02435574074 - 0968051561
Email: hello@niithanoi.edu.vn
Fanpage: https://facebook.com/NIIT.ICT/
 
#niit #niithanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp
Bình luận Facebook
Khóa học liên quan đến bài viết

Khóa học PHP Full stack [2023] cho người mới bắt đầu

96 giờ
Khóa học Lập trình PHP Full stack, phiên bản cập nhật lần thứ 8. Dạy Lập trình PHP bài bản từ Front end đến Back end + Laravel. Hướng dẫn làm 2 Dự Án Web lớn

KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG

50 giờ
Khóa học giúp học viên sử dụng thành thạo ngôn ngữ Lập trình Python (3x). Hiểu và phát triển được Ứng dụng Web với Django Framework. Học thực hành với Giảng viên cao cấp.

Lập trình PHP với Laravel Framework

42 giờ
Khóa học Lập trình PHP với Laravel Framework được NIIT - ICT HÀ NỘI xây dựng nhằm hoàn thiện kỹ năng lập trình web các các bạn đã biết Lập trình Web PHP thuần.

Khóa học Java Full stack (IJFD)

104 giờ
Học lập trình Java Fullstack với khóa học được xây dựng theo lộ trình bài bản, từ JAVA CƠ BẢN đến JAVA WEB và nâng cao về JAVA FRAMEWORK như: Spring Boot, Hibernate
Mục lục
Đăng ký tư vấn
Nhân viên gọi điện tư vấn miễn phí sau khi đăng ký
Được cập nhật các ưu đãi sớm nhất
Hotline: 0383180086
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Hãy đăng ký để nhận những thông tin mới nhất về học bổng mới nhất tại NIIT - ICT Hà Nội
top
Đóng lại Đăng ký học tại NIIT - ICT Hà Nội
6260+ học viên đã theo học tại NIIT - ICT Hà Nội và có việc làm tốt trong ngành lập trình. Nắm lấy cơ hội ngay hôm nay!
Chọn khóa học
  • KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS
  • KHÓA HỌC LẬP TRÌNH PHP WEB
  • Khóa học PHP Full stack [2023] cho người mới bắt đầu
  • Khóa học BIG DATA với Hadoop và Spark
  • Khóa học Lập trình Android tại Hà Nội
  • [Tuyển sinh 2023] Lập trình viên Quốc tế DigiNxt
  • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại Hà Nội
  • LẬP TRÌNH GAME
    • Khóa học Lập trình Game Unity
  • LẬP TRÌNH WEB FRONT END
    • KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG
    • KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)
  • LẬP TRÌNH WEB BACK END
    • LẬP TRÌNH JAVA WEB VỚI FRAME WORK
    • Lập trình Web với Django
    • Lập trình PHP với Laravel Framework
  • CHƯƠNG TRÌNH ĐÀO TẠO ỨNG DỤNG CÔNG NGHỆ
    • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại TP HCM
  • LẬP TRÌNH WEB FULL STACK
    • Khóa học Java Full stack (IJFD)
  • LẬP TRÌNH MOBILE
    • FRONT-END VỚI REACTJS VÀ REACT NATIVE
    • Lập trình Android Nâng cao
  • ĐÀO TẠO CHO DOANH NGHIỆP
    • KHÓA HỌC BUSINESS ANALYSIC TỪ CƠ BẢN ĐẾN NÂNG CAO 2023
    • Khóa học Magento: Làm chủ CMS TMĐT lớn nhất
    • Khóa học IOT: Xây dựng Sản phẩm IOT với Raspberry Pi
    • Khóa học Automation Testing Chuyên nghiệp
  • KHÓA HỌC DỰ ÁN
    • Học sử dụng bộ Office: Word, Excel, Power Point, Mail chuyên nghiệp
  • KHÓA HỌC KHÁC
    • VBA Excel Toàn Tập (Cơ Bản - Nâng Cao)
    • VBA Excel Nâng cao
    • Khóa học JMeter: Performance Testing
    • Khóa học Tester đạt chuẩn Quốc tế ISTQB Foundation Level
    • Khoá Học Tester đạt chuẩn quốc tế ISTQB Advanced Level
Bạn chưa chọn khóa học cần đăng ký
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Đăng ký học thành công!
Cảm ơn bạn đã đăng ký học tại NIIT - ICT HÀ NỘI!