我正在尝试学习打字稿,以便与Angular和Ionic一起使用。我有一个带有变量名称'barcodeData'的JSON字符串,它看起来非常类似于以下内容。
{ cancelled: 0, "text":"TEXT","format":"QR_CODE" }
要检查用户是否取消了条形码扫描仪,我需要运行以下检查:
if (barcodeData.cancelled == 0) {
//user has not cancelled. Continue code.
}
显然以上内容在Javascript中运行良好,但在尝试编译Typescript时,我在控制台中出现以下错误:
运算符'=='无法应用于类型'boolean'和'0'。
我还尝试过单个等号,三等号和'== false',以防万一它以布尔值形式出现,但是它们都会产生相同的错误,或者它编译并且根本不起作用。
有关如何排除错误的任何想法?提前谢谢。
编辑:如何定义变量:
this.barcodeScanner.scan().then((barcodeData) => {
if (barcodeData.cancelled == 0) {
// continue execution
}
});
答案 0 :(得分:0)
问题解决后,经过更多的研究后,它看起来像定义类型,任何会阻止错误显示。如果有人有更准确的答案,请在下面输入。
this.barcodeScanner.scan().then(barcodeData:any) => {
if (barcodeData.cancelled == 0) {
// code works
}
});
让then函数中的变量:任何允许代码正常工作。
编辑:同样在这种情况下,运行(!)运算符也允许代码工作,但这可能不会在以后的所有情况下使用:
if (!barcodeData.cancelled) {
// also works
}