如果没有具有
id
pdfTable
$()
将返回一个空jQuery对象,并调用
width
和
height
在该空对象上,将返回
undefined
. 因此,它们的返回类型是
number | undefined
.
如果你
知道
(或者更确切地说,
)如果该元素将存在,您可以在代码中记录该元素,并在未满足该期望时抛出错误,以确保TypeScript安全,如下所示:
var HTML_Width = $("#pdfTable").width();
var HTML_Height = $("#pdfTable").height();
if (typeof HTML_Width === "undefined" || typeof HTML_Height === "undefined") {
throw new Error(`Expected element with id="pdfTable"`);
}
var top_left_margin = 15;
var PDF_Width:number = HTML_Width+(top_left_margin*2);
您也可以使用
non-nullish assertion operator
!
// I don't recommend this
var HTML_Width = $("#pdfTable").width()!;
// ^
var HTML_Height = $("#pdfTable").height()!;
// ^
var top_left_margin = 15;
var PDF_Width:number = HTML_Width+(top_left_margin*2);