[英]Typescript - Pass interface literals to function parameters
我想使用一個接口來設置數據類型,然后在設置默認值時調用它們,如果它們沒有通過。
我得到',' expected.
錯誤',' expected.
在功能之后的畫布。 我不能用這種方式打電話嗎?
// Options
interface options {
canvas?: {
width: number;
height: number;
bgColor: string;
};
brushes?: {
sizeSm: number;
sizeLg: number;
};
}
function initialize(options {canvas.width = 700, brushes.sizeSm = 20}) {
// Do stuff
}
// Call function
initialize({
canvas: {
width: 820,
height: 450,
bgColor: '#fff'
},
brushes: {
sizeSm: 10,
sizeLg: 20
},
});
這應該有效
interface options {
canvas?: {
width: number;
height?: number;
bgColor?: string;
};
brushes?: {
sizeSm: number;
sizeLg?: number;
};
}
function initialize(opts: options = {canvas : { width : 700}, brushes: {sizeSm : 20}} ) {
//function initialize(options {canvas.width = 700, brushes.sizeSm = 20}) {
// Do stuff
}
// Call function
initialize({
canvas: {
width: 820,
height: 450,
bgColor: '#fff'
},
brushes: {
sizeSm: 10,
sizeLg: 20
},
});
首先,應調整作為參數的選項的語法以使用接口opts: options
。
接下來,如果我們想要一個default value
,我們需要正確傳遞它:
function initialize(opts: options = {canvas : { width : 700}, brushes: {sizeSm : 20}} ) {
因為我們只設置寬度和尺寸,所以其余部分調整為可選(例如heigth?:number
)
與播放這里
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.