Mengapa rentetan kosong palsu tetapi tatasusunan kosong tidak?
P粉710478990
P粉710478990 2023-09-08 14:29:03
0
1
560

Saya tahu jawapan kepada soalan ini ialah ia ada dalam spec, tetapi apakah logik di sebaliknya (jika ada)?

Welcome to Node.js v19.0.0.
Type ".help" for more information.
> !!''
false
> !![]
true

String,据我了解,实际上是一个数组,添加了一些额外的功能,以使文本更易于使用,但它仍然可以执行所有类似数组的操作,所以为什么是一个空字符串falsey 但空数组是truthy?

P粉710478990
P粉710478990

membalas semua(1)
P粉309989673

Mari kita permudahkan:

!!''

Rentetan kosong dalam JavaScript dianggap sebagai nilai "palsu". Apabila dinilai dalam konteks Boolean, ia dianggap sebagai Boolean false.

!![]

Tatasusunan, sama ada mengandungi item atau tidak, dianggap sebagai nilai "sebenar" dalam Javascript. Apabila dinilai dalam konteks Boolean, ia dianggap sebagai Boolean benar.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan