Tôi có nên ngừng sử dụng var JavaScript không?
Vấn đề là, 5 tránh nguồn gây hiểu lầm, đặc biệt. dành cho các lập trình viên với các kỳ vọng được đặt bởi các ngôn ngữ có phạm vi khối. Một 6 có phạm vi chức năng (nó khai báo một biến hiển thị trong toàn bộ chức năng) mặc dù có vẻ như nó có phạm vi khối Show
6 có thể vẫn hữu ích trong trường hợp cực đoan như mã do máy tạo ra, nhưng tôi đang cố gắng hết sức ở đó( 8 cũng mới và có phạm vi khối. Sau 9, bạn có thể gán lại cho 0, trong khi sau 1, bạn không thể gán lại cho 0. Điều đó thường tốt hơn vì nó ngăn thứ gì đó vô tình thay đổi từ bên dưới bạn. Nhưng để rõ ràng, bạn vẫn có thể sửa đổi đối tượng 1 trừ khi bạn đóng băng nó. )Trên thực tế, ấn tượng của bạn là phù hợp với ES6. Thông qua 5 và 8. Ngừng sử dụng 6(Trong một màn trình diễn khác của "The Better Parts", Doug nói lý do tại sao 5 được thêm vào thay vì sửa. 6 tạo ra một số kết quả "đáng ngạc nhiên", vì vậy chỉ cần áp dụng 5. )
đưa ra một ví dụ trong đó 6 không hoạt động như dự định. Ví dụ của họ là một ví dụ thực tế đặt ____150 trình xử lý trong một trang web. Đây là một trường hợp thử nghiệm nhỏ hơn
6 làm chúng tôi vấp ngã vì tất cả các lần lặp lại chia sẻ cùng một biến 52 trong phạm vi chức năng, có giá trị 53 sau khi vòng lặp kết thúc
5 khai báo các biến trong phạm vi khối. 6 khiến chúng ta bối rối khi đề cập đến cùng một biến trong toàn hàm JavaScript là một ngôn ngữ mạnh mẽ vì bạn có thể viết toàn bộ phần mềm mà không cần sử dụng bất kỳ ngôn ngữ lập trình nào khác 6 từng là một cách khai báo biến trong JavaScript. Tuy nhiên, việc khai báo một biến hoặc đối tượng theo cách này hiện rất hiếm do cơn ác mộng mà nó có thể tạo ra trong dự án JavaScript của bạnvar obj = {} Bắt đầu với ECMAScript 6, câu lệnh 5 đã được giới thiệuSau đây là tổng quan ngắn gọn về lý do tại sao 6 không còn hoặc hiếm khi được sử dụng trong các dự án JavaScript để khai báo biến
1. Phạm vi - lý do chính để tránh varPhạm vi là sự khác biệt chính giữa var và let Các biến 6 nằm trong phạm vi thân hàm ngay lập tức (do đó là phạm vi hàm) trong khi các biến 5 nằm trong phạm vi khối bao quanh ngay lập tức được biểu thị bằng function run() {var foo = "Foo";1 Hãy hiểu điều đó có nghĩa là gì thông qua mã ________số 8Lý do tại sao từ khóa 5 được đưa vào ngôn ngữ này là do phạm vi chức năng khó hiểu và là một trong những nguyên nhân chính gây ra lỗi trong JavaScript2. Cẩu — không phải lo lắng cho function f(x) { let y = 1; if (x > 0) { let y = 2; // `let` declares a variable in this block } return y; } [f(1), f(-1)] // --> [1, 1] // Start over, but change `let` to `var`. // --> [2, 1] 5Đầu tiên, chúng ta cần tìm hiểu xem cẩu là gì
0Nhưng không phải lo lắng. function run() {var foo = "Foo";4 sẽ không để điều đó xảy ra 23. Ràng buộc đối tượng toàn cầu
34. khai báo lại. Không tốt với Let
4Kiểm tra chủ đề thực tế để biết thêm hoặc viết trong các bình luận nếu bạn nghĩ rằng tôi đã bỏ lỡ bất cứ điều gì. Tôi sẽ thêm nó và cập nhật bài viết cho phù hợp |