【发布时间】:2017-07-23 08:08:57
【问题描述】:
我知道 typescript 的一些优点是启用类型安全的功能 -
但是是否可以确保我的函数只能获取具有特定键的对象,或者换句话说 - 特定结构的对象?
我知道许多优雅的方法来测试嵌套键是否存在,例如 [this one][1] ,
我当然可以在我的函数开始时运行一个小检查 - 但我问这个的原因是因为我的函数将被许多其他程序员使用 - 我想确保他们能够理解他们应该插入什么输入来自函数的签名。
例子:
function printName(user){
console.log(user.details.name); // I want to ensure details.name exist
}
我希望有一些功能,例如:
function (user : {details: {name : string}}){
//same ...
}
[1]: https://stackoverflow.com/questions/2631001/javascript-test-for-existence-of-nested-object-key#answer-4034468 "this one"
【问题讨论】:
-
试过 TypeScript
interface? typescriptlang.org/docs/handbook/interfaces.html -
我建议再次浏览 TS 文档。这是非常基本的。顺便说一句,您是否尝试过您提供的代码?发生了什么?另外,您能否澄清
details是唯一的属性,还是事先已知的几个属性之一?
标签: javascript typescript javascript-objects type-safety