面试题答案
一键面试function getElement(): HTMLElement | null {
// 这里假设实际有获取元素的逻辑,暂时返回null
return null;
}
const element = getElement();
if (element) {
const htmlElement = element as HTMLElement;
console.log(htmlElement.innerHTML);
}
解释:因为getElement
函数的返回值类型是HTMLElement | null
,表示可能返回HTMLElement
元素,也可能返回null
。在调用innerHTML
属性前,需要确保element
不为null
,所以先进行if (element)
判断。然后使用类型断言as HTMLElement
,告诉TypeScript编译器,此时element
一定是HTMLElement
类型,这样就可以安全地调用innerHTML
属性,否则TypeScript会因为类型的不确定性而报错。