ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

ArkTS/TypeScript中,用 === 而不是 ==,为什么?

ArkTS/TypeScript中,用 === 而不是 ==,为什么? 最近在做鸿蒙开发时,涉及到用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
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进