TypeScript:声明一个对象文字类型的变量

时间:2016-01-15 20:31:39

标签: typescript

我正在尝试找到适当的签名(当前版本的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);

1 个答案:

答案 0 :(得分:3)

目前还没有一种方法可以用语言来表达这一点。

如果您感到勤奋,可以add it,因为项目正在接受此功能的拉取请求。