- vừa được xem lúc

Các khái niệm cần nắm khi lập trình Javascript

0 0 11

Người đăng: Harry

Theo Viblo Asia

Lập trình với JavaScript hàng ngày nhưng bạn có biết, đằng sau các đoạn code thì JS đang hoạt động như thế nào? Bài viết này sẽ đề cập đến các khái niệm bạn cần nắm khi lập trình với JavaScript.

1. Scope

  • Là nơi bạn truy cập tới các khai báo của bạn thì gọi là scope
  • Có 2 loại Scope đó là: Global ScopeLocal Scope. Điểm khác nhau giữ chúng là đối với Global Scope, bạn có thể truy cập các khai báo từ bất cứ đâu trong code của bạn còn Local Scope, bạn chỉ có thể truy cập tới chúng bên trong khối code đó mà thôi(khối code bạn có thể hiểu là trong cặp ngoặc {} ). Một ví dụ minh họa cho việc này.
  • Qua ví dụ trên bạn có thể hiểu thêm về code block và các điểm khác nhau giữa Global Scope và Local Scope.
  • Note: Bạn cần chú ý sự khác biệt giữa 2 kiểu khai báo biến var và let về scope (sẽ đề cập ở phần sau).

2. Hoisting

  • Đây là cơ chế của JavaScript cho phép thực hiện sử dụng các thành phần trước khi dc khai báo. Ví dụ bạn có thể call Fuction trước khi định nghĩa nó.
foo();
function foo() { // Your function code
}

Như trong cấu trúc bên trên, JS sẽ xử lý đoạn code như sau:

  1. Đưa khai báo lên trên đầu(hoisting)
  2. Thực thi đoạn code bên trong hàm Trong khi running code sẽ dc tổ chức lại như thế này:
//Khai báo đưa lên trên đầu
function foo() { // Your function code
}
foo(); 

3. IIFE

IIFE viết tắt của Immediately Invoked Function Expression Nghĩa là khi bạn khai báo hàm, hàm sẽ dc gọi ngay lập tức. Việc này cho phép tạo ra các biến và fuction private.

(function () { // …
})();
  • Bạn thấy rằng toán tử gọi hàm () được viết ngay phía sau khai báo

4. Currying

Coi hàm như là 1 biến truyền vào trong argument

function curry(f) { // curry(f) does the currying transform return function(a) { return function(b) { return f(a, b); }; }; } // usage function sum(a, b) { return a + b; } let curriedSum = curry(sum); alert( curriedSum(1)(2) ); // 3
  • Rõ hơn thì function được coi như là 1 biến.

5. Sự khác nhau giữa let và var

  • Bạn phải tìm hiểu khái niệm scope ở bên trên để hiểu rõ điều này
  • Khi khai báo với let, thì a là null khi sử dụng block scope
  • Khi khai báo với var thì là 1 vì sử dụng function scope

6. Kết luận.

Một vài khái niệm nữa sẽ đề cập ở phần sau nhé mn🍷.

Bình luận

Bài viết tương tự

- vừa được xem lúc

PROMISE - p1

Giới thiệu. Tại sao cần dùng promise trong js, khi đó ta cần hiểu về 1 số định nghĩa về sync và async trong js. . Js là một ngôn ngữ đồng bộ sync.

0 0 9

- vừa được xem lúc

How JavaScript Works Behind The Scenes (Part 1)

JavaScript, the backbone of web interactivity, is in high demand. It’s crucial for creating dynamic, user-friendly web applications.

0 0 15