JavaScript thống trị web và ECMAScript, cốt lõi của ngôn ngữ đang phát triển. Đặc điểm kỹ thuật mới (ES6 hoặc JS2), dự kiến vào giữa năm nay, mang lại nhiều cải tiến với nó mà có thể được thử ngay hôm nay. Firefox hiện có hỗ trợ tốt nhất , nhưng cũng có thể thực hiện polyfills thông qua cái gọi là transpilers như Google Traceur . Sau đây là tổng quan ngắn gọn về các tính năng mới của ES6.
Từ khóa mới let hoạt động tốt hơn nhiều so với var : Scoping hiện hoạt động giống hệt như trong các ngôn ngữ khác (C / C ++, Java), đó là lý do tại sao if-block giờ đây cũng có phạm vi riêng của chúng. Việc nâng cấp, tức là đưa các khai báo biến (không phải gán giá trị) vào phạm vi tương ứng, cũng được sửa chữa:
console.log(x); var x = 'foo'; // undefined console.log(y); let y = 'bar'; // not initialized
Số lượng các đổi mới khác dài: hằng số (const), giá trị mặc định cho các hàm (function pow (a, b = 2) {return Math.pow (a, b);}), một ký hiệu mới cho các hàm (let pow = (a, b = 2) => Math.pow (a, b);), vô số hàm mới (repeat (), contains (), startedWith (), find (), findIndex ()), cấu trúc vòng lặp mới cho ... của.
Tập hợp kiểu dữ liệu mới, bản đồ, proxy và biểu tượng, việc nhập (các phần của các tệp JavaScript khác) với tính năng nhập và cú pháp trực quan mới cho các lớp và kế thừa cũng cần được đề cập. Nhưng thường cũng có những điều nhỏ nhưng được chờ đợi từ lâu như khả năng ngắt dòng trong các ký tự chuỗi (lưu ý dấu ngoặc kép đặc biệt):
`foo bar`
JavaScript từ lâu đã không chỉ là một công cụ cho các thủ thuật trang web nhỏ - nó tạo ra các ứng dụng web mạnh mẽ, hiệu suất cao không thua kém gì các ứng dụng máy tính để bàn. Với số lượng lớn các cải tiến hữu ích và sự hỗ trợ đã có từ ES6, việc lập trình thú vị gấp đôi.
Có ai lại không muốn kiểm tra sự bằng nhau của hai số với sự trợ giúp của hằng số mới Number.EPSILON , mà giá trị của nó mang sự khác biệt giữa 1 và giá trị dấu phẩy động cao hơn tiếp theo?
let cmp = (a,b) => Math.abs(a-b)