Var vẫn hoạt động trong javascript chứ?
Tất cả chúng ta đều bắt đầu từ đâu đó. Tôi đã học JavaScript khai báo biến với từ khóa // the old way8. Nó đơn giản và hiệu quả, nhưng tôi đã thay đổi Show Nếu bạn viết mã như // the old way9, bạn cần dừng lại. Chà, tôi sẽ thành thật mà nói, bạn không cần phải làm vậy, nhưng bạn nên Chúng ta thường nghĩ về ngôn ngữ lập trình như một bộ quy tắc khắc trong đá. Thực tế là một ngôn ngữ lập trình - giống như bất kỳ ngôn ngữ nói nào - không ngừng phát triển Bây giờ tôi sử dụng các từ khóa const myFunction = (x,y) => {0 và const myFunction = (x,y) => {0 để khai báo tất cả các biến của mình trong JavaScript và bạn cũng vậy Hãy tìm hiểu cách thức và lý do Khai báo hằng đúngMột biến, theo tên, xác định một giá trị thay đổi. Mặc dù không nhất thiết có gì sai khi khai báo và không chạm vào một biến, nhưng nếu chúng ta đang cố gắng viết mã có ý nghĩa ngữ nghĩa thì chúng ta nên phân biệt giữa biến và hằng Hằng đối lập với biến, giá trị đã khai báo không thay đổi. Trong lịch sử, để định nghĩa một hằng số, chúng ta sử dụng tất cả các chữ in hoa, giống như màu sắc tươi sáng trên một con vật độc hại Thay vì dựa vào quy ước, việc giới thiệu từ khóa const myFunction = (x,y) => {0 cho chúng ta một tùy chọn rõ ràng để khai báo điều không thay đổi Để sử dụng từ khóa const myFunction = (x,y) => {0, chỉ cần hoán đổi nó với // the old way8 và bây giờ giá trị đó không thể sửa đổi được nữa // the old way Việc thực hiện đơn giản, lý do đơn giản. Sử dụng const myFunction = (x,y) => {0 là điều dễ hiểu. Nhưng khi nào điều này là thích hợp? Các tỷ lệ số như thuế suất hoặc chuyển đổi giữa các đơn vị là những lựa chọn dễ dàng. Một nơi khác bạn sẽ thấy const myFunction = (x,y) => {0 đang được sử dụng là khai báo các hàm bằng cách sử dụng ký hiệu mũi tên const myFunction = (x,y) => { Bây giờ chức năng của bạn không thể bị ghi đè JavaScript bị thiếu sự rõ ràng về phạm vi thường dẫn đến sự thất vọng khi phát triển và khắc phục sự cố. Dưới đây là tóm tắt về các điểm kỳ lạ trong phạm vi JS
Sử dụng const myFunction = (x,y) => {0 làm rõ và giải quyết nhiều điều kỳ lạ này. Hãy xem xét kỹ hơn khai báo lạiCái này đơn giản, bạn không thể khai báo lại một biến đã được tạo bằng const myFunction = (x,y) => {0 var x = 0; đối tượng toàn cầuỞ cấp cao nhất, các biến được khai báo bằng // the old way8 được thêm vào đối tượng toàn cầu dưới dạng thuộc tính trong khi các biến const myFunction = (x,y) => {0 thì không var x = 0; cẩuCác biến được xác định bằng const myFunction = (x,y) => {0 chỉ có thể truy cập được bên trong phạm vi khối của chúng trong khi các biến // the old way8 được nâng lên cấp hàm // Using var đóng cửaCái này khó hiểu nếu nó là một khái niệm mới, nhưng bao đóng là một hàm tham chiếu đến một biến tự do Khi chúng ta có một bao đóng với biến // the old way8, tham chiếu sẽ được ghi nhớ, điều này có thể gây rắc rối khi bên trong một vòng lặp mà biến đó thay đổi // the old way0 Sử dụng const myFunction = (x,y) => {0, một tham chiếu mới được tạo mỗi lần // the old way2 Cuối cùng, ngay cả khi bạn không hiểu 100% về những lý do này và lý do tại sao chúng hoạt động theo cách chúng làm, thì việc chuyển sang const myFunction = (x,y) => {0 sẽ dẫn đến mã rõ ràng hơn, hoạt động nhất quán và sẽ dễ dàng khắc phục sự cố/bảo trì hơnMột lời cảnh báo Mặc dù const myFunction = (x,y) => {0 và const myFunction = (x,y) => {0 sẽ thay thế hiệu quả cho từ khóa // the old way8, nhưng cuộc sống không phải lúc nào cũng đơn giản như vậy. Vì những từ khóa này đã được giới thiệu trong ECMAScript 2015 (ES6), nếu nền tảng bạn làm việc không cho phép nó thì bạn không gặp may. Ngoài ra, bạn sẽ muốn đảm bảo rằng bạn thực hiện các bước để đảm bảo mã của bạn hoạt động trên các trình duyệt của đối tượng mục tiêu của bạn Bạn vẫn thấy mình đang sử dụng var x = 0;9 chứ? VAR có còn được sử dụng trong JavaScript không?Đối với câu hỏi trực tiếp dành cho bạn, var có thể vẫn được sử dụng vì các lý do cũ . Nó được hỗ trợ trong tất cả các phiên bản JavaScript và sẽ rất phiền nếu thay đổi mọi ví dụ trên internet. Ưu điểm thực sự duy nhất của var là khả năng tương thích.
VAR có cần thiết trong JavaScript không?Từ khóa var không bao giờ là "cần thiết" . Tuy nhiên nếu bạn không sử dụng nó thì biến mà bạn đang khai báo sẽ được hiển thị trong phạm vi toàn cầu (i. e. như một thuộc tính trên đối tượng cửa sổ).
Vấn đề với VAR trong JavaScript là gì?“var” không có phạm vi chặn
. Khi var bỏ qua các khối mã, chúng ta có một bài kiểm tra biến toàn cục. Như chúng ta có thể thấy, var xuyên qua if , for hoặc các khối mã khác. Đó là bởi vì từ lâu trong JavaScript, các khối không có Môi trường từ điển và var là phần còn lại của điều đó.
VAR có được phép trong ES6 không?var và khối phạm vi
. Tuy nhiên, đôi khi, có thể cần hạn chế quyền truy cập của một biến trong một khối. Chúng tôi không thể sử dụng từ khóa var trong trường hợp này . ES6 giới thiệu từ khóa let để khắc phục hạn chế này. |