Có gì mới trong JavaScript ES6?
JavaScript là ngôn ngữ kịch bản được sử dụng rộng rãi dựa trên đặc tả ECMA Script. Mặc dù JavaScript đã không được phát triển trong nhiều năm, nhưng sự xuất hiện của Ngăn xếp MEAN (MongoDB, Express, Angular, Node) đã dẫn đến một số nâng cấp hữu ích. Do đó, ECMAScript 6 (còn được gọi là ES6 và ECMAScript 2015) đã được phát hành vào tháng 6 năm 2015 và hiện được sử dụng rộng rãi Show JavaScript ES6 giới thiệu cú pháp mới cùng với một số tính năng mới được thiết kế để làm cho mã của bạn hiện đại hơn và dễ đọc hơn. Nó cho phép bạn làm được nhiều việc hơn với ít mã hơn Trong bài viết này, tôi sẽ đề cập đến một số tính năng mới đã được thêm vào ES6 để cho và constChúng tôi đã sử dụng getAccount(client_accounts,"John Doe") .then(account=>getInterestDetails(account)) .then(interestDetails=>getInterest(interestDetails.amount,interestDetails.rate)).then(interest=>console.log("Interest is "+interest)).catch((error)=>console.log(error)); 1 để khai báo các biến trong các phiên bản trước. Câu lệnh getAccount(client_accounts,"John Doe") .then(account=>getInterestDetails(account)) .then(interestDetails=>getInterest(interestDetails.amount,interestDetails.rate)).then(interest=>console.log("Interest is "+interest)).catch((error)=>console.log(error)); 1 khai báo một biến có phạm vi chức năng hoặc phạm vi toàn cầu. Điều này có nghĩa là việc sử dụng từ khóa getAccount(client_accounts,"John Doe") .then(account=>getInterestDetails(account)) .then(interestDetails=>getInterest(interestDetails.amount,interestDetails.rate)).then(interest=>console.log("Interest is "+interest)).catch((error)=>console.log(error)); 1 trong một hàm sẽ tạo ra một biến phạm vi hàm có thể được truy cập từ bên trong hàm. Ngoài ra, nếu chúng ta sử dụng từ khóa getAccount(client_accounts,"John Doe") .then(account=>getInterestDetails(account)) .then(interestDetails=>getInterest(interestDetails.amount,interestDetails.rate)).then(interest=>console.log("Interest is "+interest)).catch((error)=>console.log(error)); 1 bên ngoài hàm, nó sẽ tạo ra một biến phạm vi toàn cầu. Các biến toàn cầu này có thể được truy cập từ bất kỳ đâu trong tệp mã. Các khai báo getAccount(client_accounts,"John Doe") .then(account=>getInterestDetails(account)) .then(interestDetails=>getInterest(interestDetails.amount,interestDetails.rate)).then(interest=>console.log("Interest is "+interest)).catch((error)=>console.log(error)); 1 trùng lặp sẽ không gây ra lỗi và giá trị của biến sẽ được thay đổi trên toàn cầuxem các mã dưới đây,
cho phépTrong ES6, từ khóa getAccount(client_accounts,"John Doe") .then(account=>getInterestDetails(account)) .then(interestDetails=>getInterest(interestDetails.amount,interestDetails.rate)).then(interest=>console.log("Interest is "+interest)).catch((error)=>console.log(error)); 0 có thể được sử dụng để khai báo các biến phạm vi bị chặn. Các biến phạm vi khối này chỉ có thể được truy cập từ bên trong các khối, không phải trên toàn cầu (chúng tôi không thể truy cập nó từ bên ngoài khối). Xem các mã dưới đây,
Hơn nữa, chúng ta không thể sao chép let trong cùng một phạm vi (Block), làm như vậy sẽ dẫn đến lỗi. Xem mã dưới đây,
var x=1; hăng sôTrong ES6, có một từ khóa mới khác để khai báo biến gọi là const. Nhưng các biến const không thể được gán lại sau khi nó được đặt. Nói cách khác, nó cung cấp một biến bất biến trừ khi nó được sử dụng với các đối tượng hoặc mảng. Xem các mã dưới đây,
Chức năng mũi tên thật tuyệt vời vì nó làm cho mã của bạn dễ đọc hơn, có cấu trúc và trông hiện đại hơn. Xem xét các mã dưới đây,
Xem các ví dụ dưới đây, Ghi chú
Mục tiêu. freeze() là một phương thức được sử dụng để đóng băng một đối tượng. Nó được sử dụng để làm cho một đối tượng trở nên bất biến. do đó ta không thể thêm bớt, sửa đổi các thành phần của đối tượng bị đóng băng
mẫu Một trong những tính năng hay của ES6 là các mẫu chữ. Khi nối các chuỗi hoặc sử dụng một biến trong một chuỗi, chúng ta không cần sử dụng toán tử dấu cộng (+) Các lớp là cốt lõi của lập trình hướng đối tượng (OOP). ES6 cho phép bạn tạo và sử dụng các lớp. Xem đoạn mã dưới đây, Ghi chú Sự phá hủy Destructuring là quá trình phá vỡ một cấu trúc. Phá hủy cấu trúc dữ liệu có nghĩa là giải nén các giá trị riêng lẻ khỏi cấu trúc dữ liệu theo quan điểm lập trình. Việc hủy cấu trúc có thể được sử dụng trên một Đối tượng hoặc một Mảng trong ES6. Hãy xem xét các mã dưới đây, Đoạn mã để tiêu hủyGhi chú
Nút. js sẽ chạy không đồng bộ. Ở đây, Một câu lệnh không đợi câu lệnh trước đó hoàn thành việc thực thi. Để hiểu cách mã không đồng bộ hoạt động, hãy xem mã bên dưới
Chức năng gọi lạiGiả sử chúng ta đang ở trong một cửa hàng pizza, chúng ta đặt một chiếc bánh pizza và hướng dẫn người bán hàng gọi cho chúng ta khi bánh pizza đã sẵn sàng. Sau đó, chúng tôi sẽ có thể tiếp tục công việc của chúng tôi. Họ sẽ gọi cho chúng tôi khi pizza đã sẵn sàng để chúng tôi có thể đi lấy nó. Chức năng gọi lại hoạt động theo cách tương tự Giả sử rằng khi chúng ta gọi hàm(), chúng ta chuyển hàm() làm tham số cho FunctionA(). Kết quả là khi function() kết thúc, nó sẽ gọi function(). Đây là cách chúng ta có thể sử dụng các hàm gọi lại để quản lý mã không đồng bộ. Nhìn vào đoạn mã dưới đây, Chúng ta có thể thấy rằng bằng cách sử dụng chức năng gọi lại, chúng ta có thể thực thi mã theo một thứ tự cụ thể lời hứaKhi số lượng chức năng gọi lại tăng lên, nó sẽ trở nên phức tạp hơn. Nó được đặt tên là "địa ngục gọi lại". Chúng ta có thể sử dụng lời hứa để giải quyết vấn đề này một cách hiệu quả Một chức năng cần thời gian để hoàn thành việc thực thi của nó, sẽ trả về một lời hứa khi chúng ta gọi chức năng đó. Có hai trạng thái có thể xảy ra cho một lời hứa, đó là 'giải quyết' và 'từ chối'. Khi chức năng được hoàn thành thành công, chúng ta có thể sử dụng then() để tiếp tục thực hiện. Nếu hàm trả về bất kỳ lỗi nào, chúng ta có thể sử dụng catch() để xử lý lỗi Để minh họa cách lời hứa hoạt động, hãy xem xét ví dụ dưới đây. Giả sử chúng tôi đang gửi thông tin về chi tiết tài khoản của khách hàng tới hệ thống. Tùy vào loại tài khoản mà hệ thống sẽ tính số tiền lãi. Nếu không tìm thấy bản ghi nào, hệ thống sẽ báo lỗi. Nhìn vào các mã dưới đây, Đoạn mã lời hứaĐang chờ không đồng bộgetAccount(client_accounts,"John Doe") .then(account=>getInterestDetails(account)) .then(interestDetails=>getInterest(interestDetails.amount,interestDetails.rate)).then(interest=>console.log("Interest is "+interest)).catch((error)=>console.log(error)); 4 và getAccount(client_accounts,"John Doe") .then(account=>getInterestDetails(account)) .then(interestDetails=>getInterest(interestDetails.amount,interestDetails.rate)).then(interest=>console.log("Interest is "+interest)).catch((error)=>console.log(error)); 5 giúp viết lời hứa dễ dàng hơn. Từ khóa getAccount(client_accounts,"John Doe") .then(account=>getInterestDetails(account)) .then(interestDetails=>getInterest(interestDetails.amount,interestDetails.rate)).then(interest=>console.log("Interest is "+interest)).catch((error)=>console.log(error)); 4 trước một hàm làm cho hàm trả về một lời hứa. Từ khóa getAccount(client_accounts,"John Doe") .then(account=>getInterestDetails(account)) .then(interestDetails=>getInterest(interestDetails.amount,interestDetails.rate)).then(interest=>console.log("Interest is "+interest)).catch((error)=>console.log(error)); 5 trước một chức năng làm cho chức năng chờ một lời hứa. Từ khóa getAccount(client_accounts,"John Doe") .then(account=>getInterestDetails(account)) .then(interestDetails=>getInterest(interestDetails.amount,interestDetails.rate)).then(interest=>console.log("Interest is "+interest)).catch((error)=>console.log(error)); 5 chỉ có thể được sử dụng bên trong hàm getAccount(client_accounts,"John Doe") .then(account=>getInterestDetails(account)) .then(interestDetails=>getInterest(interestDetails.amount,interestDetails.rate)).then(interest=>console.log("Interest is "+interest)).catch((error)=>console.log(error)); 4. Hãy chuyển đổi mã trên bằng Async / Await
5 tính năng mới trong ES6 là gì?Các tính năng mới trong ES6 . từ khóa cho phép từ khóa const Hàm mũi tên Các. Nhà điều hành cho/của đối tượng bản đồ Đặt đối tượng Các lớp học Có gì mới trong JavaScript ES7?ES7 đã thêm toán tử lũy thừa (**) vào các phép toán số học đã được JavaScript hỗ trợ như +,-,* . Toán tử này nâng toán hạng thứ nhất lên toán hạng thứ hai lũy thừa.
Có gì mới trong ECMAScript 2022?Các tính năng mới trong ECMAScript 2022 bao gồm chờ đợi cấp cao nhất, chỉ số đối sánh RegExp, trường lớp công khai và riêng tư mới , v.v. Bắt đầu nào. ECMAScript 2022 (ES13) ra mắt vào ngày 22 tháng 6, mã hóa loạt tính năng mới nhất cho JavaScript.
JavaScript ES6 có mới nhất không?Bản sửa đổi chính đầu tiên ES5 (2009) Bản sửa đổi thứ hai ES6 (2015) Bản bổ sung hàng năm (2016, 2017, 2018, 2019, 2020 |