js中!!的使用与理解
!!一般用来将后面的表达式转换为布尔型的数据(boolean), 因为javascript是弱类型的语言(变量没有固定的数据类型),所以有时需要强制转换为相应的类型 。
这里提到类型转换不得不提两个概念:显式转换和隐式转化。
显式转化:
const a = parseInt(‘1111111111111’);
const b = Obj.toString();隐式转化:
布尔型的转换,javascript约定和c类似,规则为 ·
false、undefinded、null、0、"" 为 false
true、1、"somestring"、[Object] 为 true
实例:
var a = '111'+0;//a的结果为数值型;
var b = 111+'';//b的结果为字符串类型;返回到 !!()。
如:a默认是undefined,!a是true,!!a则是false,所以b的值是false,而不再是undefined。这样写可以方便后续判断使用。
所以,!!(a)的作用是将a强制转换为布尔型(boolean)。
本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!