Tôi có cần sử dụng var trong javascript không
Vấn đề là, 6 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 7 có phạm vi chức năng (nó khai báo một biến có thể nhìn thấy trong toàn bộ chức năng) mặc dù có vẻ như nó có phạm vi khối Show 7 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 ở đó( 9 cũng mới và có phạm vi khối. Sau 0, bạn có thể gán lại cho 1, trong khi sau 2, 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 6 và 9. Ngừng sử dụng 7(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 các vấn đề của 6. 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. )
Mozilla Developer Network đưa ra một ví dụ trong đó 7 không hoạt động như dự định. Ví dụ của họ là một ví dụ thực tế đặt ____260 trình xử lý trong một trang web. Đây là một trường hợp thử nghiệm nhỏ hơn
7 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 62 trong phạm vi chức năng, có giá trị 63 sau khi vòng lặp kết thúc
6 khai báo các biến trong phạm vi khối. 7 khiến chúng ta bối rối khi đề cập đến cùng một biến trong toàn hàm 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 7. Nó đơn giản và hiệu quả, nhưng tôi đã thay đổiNếu bạn viết mã như 4, 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ênChú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 9 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 9 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 9, chỉ cần hoán đổi nó với 7 và bây giờ giá trị đó không thể sửa đổi được// the old way Việc thực hiện đơn giản, lý do đơn giản. Sử dụng 9 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 9 đ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________số 8Bây giờ chức năng của bạn không thể bị ghi đè Sửa lỗi Quirky Scope của JavaScriptJavaScript 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 3đối tượng toàn cầuỞ cấp cao nhất, các biến được khai báo bằng 7 đượ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 5cẩ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 7 được nâng lên cấp hàm 7đó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 7, 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 8Sử dụng const myFunction = (x,y) => {0, một tham chiếu mới được tạo mỗi lần 0Cuố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à 9 nên thay thế hiệu quả từ khóa 7, 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ạnBạn vẫn thấy mình đang sử dụng 39 chứ?
Tôi có nên sử dụng var trong JavaScript không?Sự thật là không ai nên sử dụng var trong bất kỳ mã JavaScript nào ngoại trừ bài học lịch sử . Thậm chí sau đó, nó sẽ đi kèm với một chú thích có nội dung như "làm ơn đừng bao giờ làm điều này. " Let và const đã có mặt trên mọi trình duyệt chính trong 6 năm qua. Điều này thực sự, thực sự cổ xưa trong những năm trước.
Var có phải là tùy chọn trong JavaScript không?Việc sử dụng var bên ngoài hàm là tùy chọn ; . Sự khác biệt là một biến được khai báo là một thuộc tính không thể định cấu hình của đối tượng toàn cầu trong khi một biến không được khai báo có thể định cấu hình.
Chúng ta có thể khai báo biến không có var trong JavaScript không?Các biến có thể được khai báo và khởi tạo mà không cần từ khóa var hoặc let . Tuy nhiên, một giá trị phải được gán cho một biến được khai báo mà không có từ khóa var. Các biến được khai báo không có từ khóa var sẽ trở thành biến toàn cục, bất kể chúng được khai báo ở đâu. |