【前端问题精选】关于 typescript 联合类型转换

Konsole.vim

  • 如何让 ts 自动知道 icon 肯定是 NodeIcon 类型的呢?
  • 如果不行,有没有比自赋值更好的转换方式呢?
// ...

public async icon(icon: string | NodeIcon) {

if (typeof icon === "string") icon = new NodeIcon(

(await dataFetch("icon/" + icon + ".tico")).split("\n").filter(l => l)

)

return this.q(({ c }) => {

const eIcon = document.createElement("canvas")

eIcon.width = icon.matrix[0].length

eIcon.height = icon.matrix.length

c.appendChild(eIcon);

icon.paint(eIcon.getContext("2d"))

})

}

// ...

回答:

var nIcon = (typeof icon === "string") ? new NodeIcon(...) : icon

这样应该知道nIcon的类型了吧

以上是 【前端问题精选】关于 typescript 联合类型转换 的全部内容, 来源链接: utcz.com/a/132779.html

回到顶部