首页 > 编程语言 > 详细

In javascript, is an empty string always false as a boolean?

时间:2020-12-29 11:15:44      阅读:25      评论:0      收藏:0      [点我收藏+]

In javascript, is an empty string always false as a boolean?

in javascript,

var a = ‘‘;
var b = (a) ? true : false;

var b will be set to false.

is this a defined behavior that can be relied upon?

 

回答

Yes. Javascript is a dialect of ECMAScript, and ECMAScript language specification clearly defines this behavior:

ToBoolean

The result is false if the argument is the empty String (its length is zero); otherwise the result is true

Quote taken from http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf

 

One caveat警告 is that new String("") is truthy! This is because it is an object, whereas the short form "" represents the primitive value version. The same goes for new Number(0) and even new Boolean(false). It‘s a good reason not to use the object versions in your code, and it does mean that if (str.length) handles this edge case whereas if (str) would not.

 

回答2

Yes. All false, 0, empty strings ‘‘ and "", NaN, undefined, and null are always evaluated as false; everything else is true.

And in your example, b is false after evaluation. (I think you mistakenly wrote true)

 

 

In javascript, is an empty string always false as a boolean?

原文:https://www.cnblogs.com/chucklu/p/14205069.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!