10 điều cần nắm vững về Javascript trước khi bạn tự gọi mình là chuyên gia
Javascript đã thay đổi rất nhiều trong những năm qua và đã trở thành một trong những ngôn ngữ phổ biến nhất hiện nay. Nó là ngôn ngữ lập trình yêu thích / ưa thích của tôi và đa số lập trình viên, vì vậy đây là 10 điều bạn chắc chắn nên nắm vững trước tiên.
Tìm hiểu thêm về khóa học Javascript tại Techmaster.
This & GlobalThis
Các “this” là một trong những điều khó hiểu nhất về Javascript và với ES2020, chúng tôi có “ globalThis ”, điều này chắc chắn giúp hợp lý hóa mọi thứ và phân biệt rõ ràng giữa “this” khác.
Lý do chúng tôi có “ globalThis ” là vì trong trình duyệt global là “window”, trong NodeJs nó là “global” và bên trong worker là “self” của nó. Thật là một mớ hỗn độn phải không?
Một số ngôn ngữ như swift và python gọi nó là “self” và những ngôn ngữ khác như Java gọi nó là “this” nhưng Javascript “this” hoạt động khác.
“This” có thể đề cập đến trường hợp của một đối tượng hoặc lớp. Nó cũng thay đổi tùy thuộc vào cách một hàm được gọi. Đó là bối cảnh nơi bạn đang ở và cũng thay đổi khi bạn ở chế độ nghiêm ngặt và không nghiêm ngặt. Cần thêm lý do để thực sự cố gắng làm chủ nó?
Object
Hầu hết mọi thứ trong Javascript đều là objects. Đây là lý do duy nhất để tìm cách làm chủ các đối tượng trong Javascript nhưng hãy để tôi nói cho bạn biết thêm.
Lớp và Mảng là hai ví dụ về những thứ chỉ là các đối tượng nguyên mẫu. Để hiểu Đối tượng, bạn cần hiểu bản chất nguyên mẫu của Javascript bao gồm prototypical inheritance and prototypes.
Những thuộc tính này cho phép Javascript trở nên linh hoạt và là một trong những lý do cốt lõi để bạn có thể sử dụng nó để làm hầu hết mọi thứ. Mọi thư viện và công cụ bạn sử dụng, hãy sử dụng với nguyên mẫu các đối tượng và nó sẽ khiến bạn muốn tạo ra mọi thứ.
Class
Sau khi bạn thành thạo object, bạn phải nắm vững Class, nó chỉ là các đối tượng và một hàm khởi tạo nguyên mẫu.
Khi bạn hiểu Đối tượng, bạn sẽ hiểu những hạn chế và sức mạnh của các lớp Javascript. Nếu bạn đến từ một ngôn ngữ hướng đối tượng hoặc là một người yêu thích Lập trình hướng đối tượng, việc giới thiệu các lớp sẽ làm cho toàn bộ điều đó trở nên khả thi.
Các lớp đã trở thành mục đích cho các nhà phát triển để tránh đối phó với bản chất nguyên mẫu kỳ lạ của Javascript và chỉ tập trung vào thứ đang được xây dựng.
Scope & Closure
Tôi đã cố gắng giải thích scope and closure cho ai đó và nó đã đánh tôi. Mọi người thường bị nhầm lẫn bởi chúng và không nhận ra cách phạm vi quyết định rất nhiều về cách code được thực thi trong hoàn cảnh khác nhau.
Đối với tôi, phạm vi là về việc tạo hộp và khép kín, đó chỉ là một hộp đặc biệt. Tôi thực sự đã tạo một video để cố gắng giải thích nó. Cho tôi biết bạn nghĩ gì?
Hiểu được phạm vi sẽ giúp bạn tạo code hoạt động cùng nhau và khép kín chỉ là một công cụ mạnh mẽ mà bạn nên sử dụng nếu bạn thích ý tưởng về đóng gói và lập trình chức năng.
Data Structures
Đây là một chủ đề lớn nhưng tôi không thể làm những điều tôi làm ngày hôm nay và hiểu cách mọi thứ trên web được tạo ra nếu không hiểu về Data Structures.
Đó là một chủ đề quan trọng trong bất kỳ ngôn ngữ nào và đặc biệt là Javascript, nơi mảng không thực sự là mảng?
Hiểu Cấu trúc dữ liệu là điều mang lại cho bạn tư duy của Kỹ sư. Đó là một phần kiến thức thực sự khiến bạn nổi bật so với các nhà phát triển khác.
Single Thread, Non-Blocking, Asynchronous, Concurrent
Đây là định nghĩa khá nhiều về Javascript và hiểu được nghĩa của nó là thứ cấp độ chuyên nghiệp.
Hiểu tại sao Javascript là một luồng sẽ cho bạn biết nó tốt hơn cho loại ứng dụng nào.
Tôi thực sự đã đọc một good article về điều này nhưng tôi khuyên bạn nên thực sự nghiên cứu tiêu đề của phần này và làm quen với ngôn ngữ.
Promise & Async Await
Bất cứ khi nào tôi code trong ngôn ngữ khác, không có gì khiến tôi phải sử dụng nhiều hơn promise và async -await, và tôi yêu Javascript Promise và Async await.
Đây là điều mà bạn cần hiểu cách hoạt động của Javascript để hiểu nó. Promises chỉ là ma thuật và cung cấp cho lập trình không đồng bộ rất nhiều mục đích.
Promises và async ... await cho phép bạn đi chệch khỏi con đường tuyến tính truyền thống để thực hiện các chương trình mà cho một ngôn ngữ đơn luồng như Javascript , làm cho nó mạnh hơn và nhanh chóng để tính toán rất nhiều thứ một cách nhanh chóng mà không cần nguồn lực để tạo ra chủ đề chuyên dụng.
Promises + single thread làm cho Javascript trở thành một trong những lựa chọn hàng đầu để xây dựng Rest Api và các ứng dụng giao tiếp thời gian thực nhanh chóng và đáng tin cậy .
Functions
Theo quan điểm của tôi, không có gì đánh bại các hàm Javascript. Nó kiểm tra mọi box và nó là thứ mạnh thứ hai về ngôn ngữ ngay sau Đối tượng.
Bởi vì Javascript rất linh hoạt và phong phú, nó cho phép bạn lập trình theo bất kỳ phong cách nào và một trong số đó là phong cách lập trình hàm.
Bạn có thể làm bất cứ điều gì với hàm và các thủ thuật liên quan đến hàm là vô tận. Nếu bạn thích lập trình hàm hoặc bất kỳ kiểu khai báo nào khác, bạn phải Thành thạo các hàm.
Control Flow
Đây là cơ sở của bất kỳ ngôn ngữ nào. Học cách mọi thứ hoạt động từng bước sẽ cho phép bạn kết hợp các thuật toán từ đơn giản đến phức tạp để tạo ra các chương trình phức tạp hơn.
Luồng điều khiển được hiểu theo cách mọi thứ được thực hiện từng bước và nó ảnh hưởng đến cấu trúc như thế nào. Nó sẽ giúp bạn gỡ lỗi và hiểu bất kỳ ứng dụng nào một cách nhanh chóng ngay cả khi bạn không viết nó.
Fetch & Ajax
Tại một số thời điểm, bạn sẽ cần thực hiện các yêu cầu và xử lý dữ liệu được tìm lấy qua mạng là một kỹ năng cần thiết, đặc biệt là hiện nay dữ liệu là một phần rất lớn của bất kỳ ứng dụng nào.
Biết cách sử dụng API tìm lấy hoặc XHR sẽ rất hữu ích nhưng bạn không bị giới hạn ở các API gốc như thế này. Mục tiêu là để biết cách của bạn xung quanh việc tìm lấy dữ liệu qua mạng trong ứng dụng của bạn.
Đến một lúc nào đó, bạn sẽ phải đối phó với tải dữ liệu khổng lồ hoặc các ứng dụng phụ thuộc vào nhiều dữ liệu.
Kết luận
Con đường trở thành một người chuyên nghiệp của bạn nằm trong những phần nhỏ này. Làm chủ từng chút một với toàn bộ thời gian luyện tập. Đây sẽ là nền tảng tuyệt vời để bạn bắt đầu hành trình trở thành một chuyên gia. Một danh sách chuyên nghiệp rất rộng lớn nhưng hầu hết chúng đều bắt nguồn hoặc đã được nhúng trong các bước nhỏ này.
Sẽ không thành vấn đề nếu bạn chỉ đọc về nó. Bạn phải thử đi thử lại trong nhiều trường hợp khác nhau nhất có thể.
Chúc may mắn!
15 CSS Things to Master and Become a Better Web Developer
10 HTML things to Master as an Experienced Web Developer
Bài viết gốc tại đây
Bình luận