Điện thoại/ Zalo
0389934723
Bài 7: Extended Literals
ES6 không chỉ hỗ trợ chúng ta về mặt cú pháp mà nó còn hỗ trợ chúng ta khai báo trực tiếp với các kiểu dữ liệu ở dạng nhị phân, bát phân hay là xử lý unicode 1 cách trực tiếp đơn giản. Điều mà trước đây chúng ta thường phải sử dụng hết sức rườm rà.
1, Binary & Octal Literal.
Bây giờ chúng ta đã có thể khai báo trực tiếp biến dạng nhịn phân và bát phân mà không cần phải chuyển đổi kiểu dữ liệu một cách rườm rà như trước nữa.
VD: Khai báo biến dạng nhịn phân và bát phân.
var binary = 0b111110111;
console.log(binary);
//503;
var octal = 0o767;
console.log(octal);
//503
Thay vì trước đây khi chưa có ES6 chúng ta phải khai báo như sau:
parseInt("111110111", 2);
parseInt("767", 8);
2, Unicode String & RegExp Literal.
Đặc biệt trong ES6 đã cho phép chúng ta sử dụng Unicode trong chuỗi, và regular expression (biểu thức chính quy).
VD:
– Cú pháp Trong ES6.
"?".length === 2
"?".match(/./u)[0].length === 2
"?" === "uD842uDFB7"
"?" === "u{20BB7}"
"?".codePointAt(0) == 0x20BB7
for (let codepoint of "?") console.log(codepoint)
– Cú pháp ES5:
"?".length === 2;
"?".match(/(?:[-tx0Bfx0E-u2027u202A-uD7FFuE000-uFFFF][uD800-uDBFF][uDC00-uDFFF][uD800-uDBFF](?![uDC00-uDFFF])(?:[^uD800-uDBFF]^)[uDC00-uDFFF])/)[0].length === 2;
"?" === "uD842uDFB7";
// Không hỗ trợ trong ES5
// Không hỗ trợ trong ES5
// Không hỗ trợ trong ES5