☰
ArkTS/TypeScript中,用 === 而不是 ==,为什么?
2026/10/11 15:29:41 网站建设 项目流程

最近在做鸿蒙开发时,涉及到用if进行字符串比较时写了一段代码:

fixedActionCell(name: string, action: string, width: number) { Button(action) .width(width - 10) .height(28) .fontSize(12) .fontColor(Color.White) .backgroundColor('#4f7dff') .borderRadius(14) .onClick(() => { console.info('点击操作: ' + name + ' -> ' + action); if (name === 'haha') { this.doPublish(); } }) }

这样只有点击的name正好是'haha'时,才会执行doPublish()。

用===而不是==

是因为:ArkTS/TypeScript 里推荐用严格相等===,避免类型隐式转换带来的意外。

==是宽松相等,比较前会做类型转换;===是严格相等,类型不同直接返回false。意外的根源就是这个隐式转换。

如下几个例子:

1. 数字和字符串比较

1 == '1' // true 1 === '1' // false 0 == '' // true 0 === '' // fa

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询