首页 > 解决方案 > 如何键入定义解构的箭头函数表达式参数?

问题描述

我正在尝试做一个将单词的第一个字母大写的小功能,但打字稿让我感到悲伤,我不知道如何输入定义它。

你能帮我输入定义这个函数吗:

const capitalize = ([firstLetter, ...rest]) => firstLetter.toUpperCase() + rest.join('')

标签: javascripttypescriptdestructuring

解决方案


正如@Bergi 正确指出的那样,这string不是一个数组。

因此,您希望用户调用您的方法,例如:

操场

const capitalize = ([
  firstLetter,
  ...rest
]: string[]): string => firstLetter.toUpperCase() + rest.join('');

console.log(capitalize('my string'.split('')));

要么您使用其他方式来大写。

操场

const capitalize = (str: string): string => str.length ? str.substr(0, 1).toUpperCase() + str.substr(1) : '';

console.log(capitalize('my string'));

推荐阅读