значения по умолчанию для интерфейса для свойств функции в typescript

#typescript #function #interface

#typescript #функция #интерфейс

Вопрос:

Мне нравится использовать интерфейсы typescript для свойств функций, но мне также нравится использовать свойства по умолчанию. Как я могу использовать оба?

 export interface test_interface{
   owner: string, 
   length?: number, 
   max_players?: number,
}
const test_function = (test_props: test_interface) => {
    const x = test_props.length; //could be undefined and I want a default value
}
 

Ответ №1:

Вы можете выполнить это с помощью деструктурирования в объявлении функции.

 export interface test_interface{
   owner: string, 
   length?: number, 
   max_players?: number,
}
const test_function = ({owner, length = 5, max_players = 4}: test_interface) => {
    const x = test_props.length; //length is 5 or whatever was passed in on the function call
}