Cho phép JavaScript, const

ES6 đi kèm với rất nhiều tính năng mới tuyệt vời bao gồm hai cách mới để xác định các biến trong JavaScript. Hiện tại có ba từ khóa hoặc mã định danh khác nhau để khai báo một biến trong JavaScript. Trong bài viết này, tôi sẽ giải thích sự khác biệt chính giữa var, let và const và khi nào bạn nên sử dụng chúng

Để hiểu đầy đủ sự khác biệt giữa từng mã định danh, trước tiên chúng ta cần hiểu khái niệm về phạm vi

Phạm vi là gì?

Phạm vi xác định khả năng truy cập hoặc khả năng hiển thị của các biến đối với JavaScript. Có ba loại phạm vi trong JavaScript

1. Phạm vi toàn cầu

2. Phạm vi chức năng (cục bộ)

3. Phạm vi khối (mới với ES6)

Các biến được khai báo bên ngoài một hàm nằm trong phạm vi toàn cầu. Các biến toàn cục có thể được truy cập và thay đổi trong bất kỳ phạm vi nào khác. Các biến được xác định trong một hàm thuộc phạm vi cục bộ và không thể truy cập được trong các hàm khác. Mỗi chức năng khi được gọi sẽ tạo ra một phạm vi mới, do đó các biến có cùng tên có thể được sử dụng trong các chức năng khác nhau

Phạm vi khối bao gồm các câu lệnh và vòng lặp if hoặc bất kỳ mã nào khác được gói trong {}. Khi được gọi, chúng không tạo phạm vi mới. Các biến được khai báo bên trong phạm vi khối sẽ vẫn ở trong phạm vi mà chúng đã có

Từ khóa Var

Trước ES6, từ khóa var được sử dụng để khai báo một biến trong JavaScript. Từ khóa var đã xuất hiện kể từ khi JavaScript ra đời và đó là thứ bạn sẽ thấy trong bất kỳ mã ES6 nào trước đây

Các biến được khai báo bằng từ khóa var có phạm vi toàn cầu hoặc chức năng, chúng không hỗ trợ phạm vi cấp khối. Điều này có nghĩa là nếu một biến được định nghĩa trong vòng lặp hoặc trong câu lệnh if thì nó có thể được truy cập bên ngoài khối và vô tình được định nghĩa lại dẫn đến chương trình có lỗi. Về nguyên tắc chung, bạn nên luôn khai báo biến với const, nếu bạn nhận thấy giá trị của biến cần thay đổi, hãy quay lại và thay đổi thành let

Javascript ban đầu được tạo ra chỉ với một từ khóa để khai báo một biến, từ dành riêng này là. var

Nhưng kể từ phiên bản thứ 6 (ECMAScript 2015) của đặc tả ngôn ngữ, hai từ khóa mới đã xuất hiện. để cho và const

Nếu tôi phải tóm tắt định nghĩa của hai cách khai báo biến mới này, tôi có thể nói rằng

  • let là để khai báo một biến cục bộ
  • const là khai báo một biến hằng
Hãy cẩn thận, tham chiếu cố định không có nghĩa là giá trị đằng sau tham chiếu là bất biến, chỉ là tham chiếu không thể thay đổi

Nhưng hãy khám phá xem các biến này hoạt động khác nhau như thế nào trong thực tế

Lưu trữ trên toàn cầu?

  • var. vâng ✔️
  • cho phép. không ❌
  • hăng sô. không ❌

Khi var được sử dụng để khai báo một biến bên ngoài hàm, thì biến này sẽ được tham chiếu trong đối tượng toàn cục của tập lệnh

Trong trình duyệt, biến này được gọi là "cửa sổ" và trong môi trường NodeJS, nó được gọi là "toàn cầu"

Giới hạn phạm vi chức năng?

  • var. vâng ✔️
  • cho phép. vâng ✔️
  • hăng sô. vâng ✔️

Phạm vi của hàm là phạm vi duy nhất đặt tất cả các biến ngang bằng nhau và việc khai báo một biến bên trong hàm sẽ không có bất kỳ ảnh hưởng nào đến các biến bên ngoài

Giới hạn chức năng khối?

  • var. không ❌
  • cho phép. vâng ✔️
  • hăng sô. vâng ✔️

Đối với những người thắc mắc khối là gì, nó chỉ đơn giản là một nhóm hướng dẫn được viết giữa một cặp dấu ngoặc nhọn "{. }" ngoại trừ khi chúng phân định thân hàm hoặc đối tượng JSON

Một tập lệnh thường được tìm thấy sau if, other, for, while, v.v. Hãy nhớ rằng một biến được khai báo bằng "var" bên trong for sẽ tự động được coi là biến toàn cục

Ngoại trừ nếu for nằm trong một chức năng, rõ ràng là

Có thể được chỉ định lại?

  • var. vâng ✔️
  • cho phép. vâng ✔️
  • hăng sô. không ❌

Gán lại có nghĩa là thay đổi giá trị của biến khi chúng ta đang sử dụng kiểu nguyên thủy hoặc sửa đổi tham chiếu biến khi sử dụng kiểu phức tạp

Xin lưu ý rằng nếu const được sử dụng để tham chiếu một đối tượng, nội dung của đối tượng này vẫn có thể được sửa đổi

Có thể được khai báo lại?

  • var. vâng ✔️
  • cho phép. không ❌
  • hăng sô. không ❌

Không thể khai báo lại một biến ngoại trừ nếu sử dụng var, nhưng đó chắc chắn không phải là một cách làm tốt và tôi khuyên bạn không nên làm điều đó

cẩu?

  • var. vâng ✔️
  • cho phép. không ❌
  • hăng sô. không ❌

Nâng đỡ là một cơ chế phức tạp hơn xảy ra trong quá trình diễn giải mã JS và nếu bạn không quen với khái niệm này, tôi khuyên bạn nên đọc bài đăng trên blog chuyên dụng của tôi về nó (tiếng Pháp)

Tôi hy vọng bài đăng này hữu ích cho bạn, hẹn gặp lại bạn sau trên blog

ủng hộ blog

Blog này hoàn toàn không có quảng cáo và nếu bạn muốn hỗ trợ công việc của tôi, vui lòng quyên góp một đô la

Cho tôi một ly nước tăng lực 🍾
Cho phép JavaScript, const


Cho phép JavaScript, const

Thông tin về các Tác giả

Xin chào, tôi là Nicolas Brondin-Bernard, kỹ sư web tự do từ năm 2015 với niềm đam mê chia sẻ kiến ​​thức và kinh nghiệm

Tôi cũng là huấn luyện viên cho các nhà phát triển web mới vào nghề, bạn có thể nhắn tin cho tôi qua nicolas@brondin. com, trên trang web của tôi hoặc theo dõi tôi trên các mạng xã hội như Twitter để tránh bỏ lỡ các bài đăng hay nhất hoặc các dự án tương lai của tôi

Tôi nên sử dụng const hay let trong JavaScript?

Tóm tắt. Theo nguyên tắc chung, bạn luôn phải khai báo biến với const , nếu bạn nhận thấy giá trị của biến cần thay đổi, hãy quay lại và thay đổi thành . Sử dụng let khi bạn biết rằng giá trị của một biến sẽ thay đổi. Sử dụng const cho mọi biến khác.

Sự khác biệt giữa let và const trong JavaScript là gì?

Giới thiệu về sự khác biệt giữa Var, Let và Const . if we will declare a var variable or let variable, then it can be updated, but if we declare a const variable, it will not be updated in any case and will work fine with our function.

Tại sao chúng tôi sử dụng const và let trong JavaScript?

khai báo var có phạm vi toàn cục hoặc chức năng có phạm vi trong khi let và const có phạm vi khối . các biến var có thể được cập nhật và khai báo lại trong phạm vi của nó; . Tất cả chúng đều được nâng lên đầu phạm vi của chúng.

Const và let có giống nhau không?

Từ khóa const tuân theo các quy tắc giống như từ khóa let . Sự khác biệt duy nhất với const là const chỉ được sử dụng để xác định các giá trị không đổi trong các chương trình JavaScript.