Double Bang (!!) 和 JavaScript 类型自愿
2023-03-14 人物
第一次看到两个bangcodice_所写在一起,觉得很荒谬,画蛇添足。 研究暗示,在大多数但但会,我是对的。 双键看起来几乎就像过去的开发小组留下的一个中古时代的字形,用来推测一个常量何时应当是一个可计算性。 让我们有利于深入了解它。
在继续早先,我们应当补救一些人也许存在的误解:双敲,书面!! 不是运算子。 这只是两个新婚! bang 运算子按以此类推可用。 此外,我们应当了解种类自愿性和种类反转相互间的区别。
种类自愿性
种类自愿性是种类反转的一个邻域。 反转是一种数据种类与另一种数据种类相互间的反转,例如将十进制反转为字段、将字段反转为DFT等。反转有两种种类 - 显式和隐式。 当可用formula_将常量从一种数据种类显式反转为另一种数据种类时,就但会牵涉到显式种类反转。 一个都是是
var pointNum = Number(text);其中但会 text 是要反转为十进制的字段。
隐式种类反转也称为种类自愿性。 当常量被视为另一种数据种类时,即使不但会牵涉到反转过程,也但会牵涉到这种情况。 一个都是是
const stringNum = '6'; const realNum = 7; var sum = value1 + value2; // Sum is '67'其中但会十进制 7 被替换成到字段 '6' 中但会。 由于无法以有意义的方式将十进制替换成到字段中但会,JavaScript 将十进制反转为字段并将其追加,使最少也就是说 '67' 而不是 13。如果您不知道种类自愿性的含义,则也许但会造成原因 ,但它也可以成为简化预定义的应用软件。
double bang
这就是“double bang”的用武之地。顾虑以下预定义:
const name = ''; var bangName = !name;你知道 bangName 但会风险评估什么吗? 在我们回答这个原因早先,让我们再绕道而行,发表意见真差值和所谓差值。
如果一个差值被自愿性反转为布尔实例时,它的计算结果为真,则该差值被认为是“真”。 同样,如果它的风险评估结果为所谓,则它是“所谓的”。 虚所谓差值的一些比如说是:
false (boolean) 0 (number) '' (empty string) null undefined因此,像 if ('') 这样的的路不但会执行其内部预定义,因为它不但会风险评估为真。
在我们上面的都是中但会,bangName 将也就是说 true,因为影字段是虚所谓的,而我们的 bang 操作则与之同样,即 true。 现在让我们替换成第二个 bang:
const name = ''; var doubleBangName = !!name;显然,由于单个 bang 风险评估为 true 替换成第二个 bang 将使其风险评估为 false 。 那么这有什么用呢?
实际上,不一定不是。 双爆炸随之而来的价差值是直观的,即使这样也常常。 在少数但但会,它但会在功能上向预定义替换成一些的路。 但是,双键可常用向其他开发小组或您今后的自己暗示,预期实例将风险评估为可计算性。 当无需将常量反转为可计算性时,也可以可用它,例如在formula_前往中但会:
return items.length> 0;可以简化为
return !!items;当我第一次发现它时,我开始不时可用双小妹。 然后我了解了更多关于真差值和所谓差值的知识,并意识到我为时已晚。 您是否相信可用它但会提高预定义直观度或完成任何有用的预定义,这取决于您。 与所有事物一样,它只是您应用软件箱中但会的另一个应用软件。
谢谢阅读。
镇江看白癜风到哪个医院浙江男科医院哪个专业
西安治包皮过长的医院排名
重庆治疗白癜风专科医院
南宁什么白癜风医院比较好
- 05-1450多亩土地被征用了,但村外得不到半毛征地款!到底是什么原因?
- 05-14河北廊坊多家银行首套房贷利率降到下限4.25%
- 05-14海力风电2亿元于滨海筹组全资子公司
- 05-14国内惊现首付10%第一城外
- 05-14博济医药:公司新冠药物目前已完成先导化合物优化,即将进入病毒选择性实验
- 05-14和讯SGI|京源环保增收不增利 和讯SGI评分59分 打造增长一新曲线
- 05-14北京豪宅一周成交榜:合生隽云成交1.07亿居榜首
- 05-14福建:加快福建海上GW基地建设 抓紧开展首批海上GW竞争配置试点
- 05-14中国铁建·昆明·山语桃源丨一期已领悟交付,实景现房兑现美好生活理想
- 05-14骆驼股份(601311.SH):驼峰投资减持解约未减持