Typescript错误,如何做一个比较对象值和整数的if语句

时间:2018-01-19 14:47:28

标签: angular typescript ionic2

我正在尝试学习打字稿,以便与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
  }
});

1 个答案:

答案 0 :(得分:0)

问题解决后,经过更多的研究后,它看起来像定义类型,任何会阻止错误显示。如果有人有更准确的答案,请在下面输入。

this.barcodeScanner.scan().then(barcodeData:any) => {
    if (barcodeData.cancelled == 0) {
        // code works
    }
});

让then函数中的变量:任何允许代码正常工作。

编辑:同样在这种情况下,运行(!)运算符也允许代码工作,但这可能不会在以后的所有情况下使用:

if (!barcodeData.cancelled) {
    // also works
}