Toidicode.com

Toidicode.com

BASIC TO ADVANCE

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
"?" === "\uD842\uDFB7"
"?" === "\u{20BB7}"
"?".codePointAt(0) == 0x20BB7
for (let codepoint of "?") console.log(codepoint)

- Cú pháp ES5:

"?".length === 2;
"?".match(/(?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF][\uD800-\uDBFF][\uDC00-\uDFFF][\uD800-\uDBFF](?![\uDC00-\uDFFF])(?:[^\uD800-\uDBFF]^)[\uDC00-\uDFFF])/)[0].length === 2;
"?" === "\uD842\uDFB7";
//  Không hỗ trợ trong ES5
//  Không hỗ trợ trong ES5
//  Không hỗ trợ trong ES5

 

Đăng ký nhận tin.

Chúng tôi chỉ gửi tối đa 2 lần trên 1 tháng. Tuyên bố không spam mail!

Vũ Thanh Tài

About author
The best way to learn is to share
Xem tất cả bài đăng

1 Comments

Nội dung bài viết vẫn còn phải không ad?

namyeushop.com

3 năm trước

Bình luận

Captcha