我正在尝试找到适当的签名(当前版本的TypeScript是1.7),该函数应该只接受引用类型,而不是基元:
function onlyObject(x: ???) {
if (typeof x !== 'object') {
throw "bad arg!";
}
}
因此,对于上面的功能,这应该有效:
onlyObject({ });
onlyObject(new Date());
onlyObject(new Number(1));
onlyObject(null);
onlyObject(function () { });
但这在编译时会失败:
onlyObject("awd");
onlyObject(1);
onlyObject(false);