我可以在没有 strictNullChecks: false 的情况下解决这个问题吗?

Can I solve this one without strictNullChecks: false?

我想知道如何在不将 strictNullchecks 设置为 false 的情况下解决这个问题。

if (someArray.find(element => element.id === x.id) {
    return someArray.find(element => element.id === x.id).message
}

const x = someArray.find(element => element.id === x.id) ? someArray.find(element => element.id === x.id).message : "No message"

如您所知,当我将 strictNullChecks 设置为 true 时,TypeScript 会显示类似 "Object is possibly undefined" 的错误。

strictNullChecks设置为false是不是最好的选择?

--------新增内容--------

screen capture

if (self.cases.find(element => element.code === self.statusCode)) {

                // NOTE: do not use 'case' to variable instead of the 'selectedCase'
                const selectedCase = self.cases.find(element => element.code === self.statusCode)
                console.log(selectedCase.message)
                return (
                    self.statusCode + " " + selectedCase.message
                )
            } 

Q1。当我尝试使用 'case' 作为变量时。它需要变量声明。是预声明词吗?

Q2。 console.log(selectedCase.message)selectedCase.message 也会出现错误 Object is possibly undefined

为什么会这样..?

与其搜索数组两次,不如将结果存储在一个临时变量中,然后检查它是否已定义。

例如:

const foundElement = someArray.find(...)

if (foundElement) {
  console.log(foundElement.message)
}