Je sais que la réponse à cette question est c'est dans les spécifications, mais quelle est la logique derrière cela (le cas échéant) ?
Welcome to Node.js v19.0.0. Type ".help" for more information. > !!'' false > !![] true
String
,据我了解,实际上是一个数组,添加了一些额外的功能,以使文本更易于使用,但它仍然可以执行所有类似数组的操作,所以为什么是一个空字符串falsey
但空数组是truthy
?
Faisons simple :
La chaîne vide en JavaScript est considérée comme une « fausse » valeur. Lorsqu'il est évalué dans un contexte booléen, il est traité comme booléen faux.
Les tableaux, qu'ils contiennent ou non des éléments, sont considérés comme des valeurs « réelles » en Javascript. Lorsqu’ils sont évalués dans un contexte booléen, ils sont traités comme étant vrais booléens.