我知道打字稿的一些優點是啓用類型安全功能 -
但是有可能確保我的功能只能獲得具有特定鍵的對象或換句話說 - 具體結構的對象?強制一個函數只接受特定結構的對象(在打字稿/ js中)
我知道的很多優雅的方式來測試一個套疊的鍵存在,如[這一個] [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'? https://www.typescriptlang.org/docs/handbook/interfaces.html –
我建議再次運行TS文檔。這是非常基本的。順便說一下,你是否嘗試過你提供的代碼?發生了什麼?另外,你能否澄清一下,「細節」是唯一的財產,還是事先已知的幾個? –