01/10/2018, 10:54

Những điều thú vị của JavaScript

Tiêu đề đáng lẽ là What the fuck JavaScript, nhưng đặt tiêu đề thô thiển quá, nên chuyển qua dùng từ “thú vị”.
Trang Github tập hợp những trường hợp “lạ”, khó hiểu của JavaScript, khiến lập trình viên phải “what the f**k”

Old post:
JavaScript, với cú pháp đơn giản, đã trở thành là 1 ngôn ngữ phổ biến, đặc biệt là Front-end.
Tuy nhiên, cũng có một số lúc JavaScript khiến cho lập trình viên đi vào ngõ cụt.
GitHub

denysdovhan/wtfjs

wtfjs - A list of funny and tricky JavaScript examples

Một số đoạn code được trích:

[] == ![] // -> true
[1, 2, 3] + [4, 5, 6]  // -> '1,2,34,5,6'
1 < 2 < 3 // -> true
3 > 2 > 1 // -> false
(![]+[])[+[]]+(![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]
// -> 'fail'
Henry viết 12:58 ngày 01/10/2018

1 < 2 < 3 // -> true
3 > 2 > 1 // -> false

Có phải cái này là do

1 < 2 < 3
1 < 3   (1 < 2 == 1)
True
Còn 
3 > 2 > 1
1 > 1  (vì 3 > 2)
False

Không nhỉ?

Hung viết 13:08 ngày 01/10/2018

Đúng rồi đó, true chuyển qua int là 1.
Còn trên github giải thích thế này:

1 < 2 < 3 // 1 < 2 -> true
true  < 3 // true -> 1
1     < 3 // -> true

3 > 2 > 1 // 3 > 2 -> true
true  > 1 // true -> 1
1     > 1 // -> false
```
Henry viết 13:02 ngày 01/10/2018

Cái này ai đọc sơ sơ phần compare của C hoặc C++ là biết cái này liền

明玉 viết 13:09 ngày 01/10/2018

Cái này là jsfuck đây mà

Hung viết 12:56 ngày 01/10/2018

Biết là f*k nhưng đặt vô tiêu đề thô thiển quá, nên để tạm thành “thú vị”.

Bài liên quan
0