如何在一行中初始化和返回对象
How to initialize and return an object in a single line
我正在尝试创建基于以下类型接口的选项对象:
interface Option {
/** Text for rendering */
label: string;
/** Value for searching */
value: string | number;
/**
* Allow this option to be cleared
* @default true
*/
clearableValue?: boolean;
}
是否可以将以下内容转换为一行?
const options = [1, 2, 3].map<Option>((t) => {
const option: Option = { label: String(t), value: String(t) };
return option;
});
I tried:
const options = [1, 2, 3].map<Option>((t) => Option = { label: String(t), value: String(t) });
你就快成功了:
const options = [1, 2, 3].map(t => <Option>{ label: String(t), value: String(t) });
类型断言<Option>{ label: String(t), value: String(t) }
也可以用as
操作符完成:t => ({ label: String(t), value: String(t) }) as Option
Update:正如您已经发现的那样-第一个选项(<Option>
)在*中产生歧义。tsx文件,所以首选as
语法。
可以使用typescript强制转换:
const options = [1, 2, 3].map<Option>((t) => <Option>{ label: String(t), value: String(t) } );
相关文章:
- 使用javascript函数在页面初始化后加载jquery
- 未捕获错误:无法在初始化之前调用方法;
- 如何在剑道网格初始化后设置pageSizes
- React redux初始化功能,无论状态变化如何
- 为什么可以't Protractor在自动初始化的Angular网站上查找Angular
- 尝试初始化()Spine's控制器和故障
- Angular.js延迟控制器初始化
- 对插件初始化后动态加载的元素进行样式设置
- Angular JS控制器初始化错误
- 在XMLHttpRequest之后重新初始化jQuery
- ember-js组件初始化不同的函数
- 为什么我得到“减速器 [..]在初始化期间返回未定义“,尽管为 createStore() 提供了 initialSta
- 如何从使用 API 返回的 JSON 对象初始化 google.maps.DirectionsResult
- Angular JS延迟控制器和指令的初始化,直到数据从服务器返回
- 如何在一行中初始化和返回对象
- 初始化jQuery返回空白页的数据表
- Angular $resource在api初始化后被调用,导致返回空值
- 在JavaScript中返回一个随机的新初始化对象
- 用函数返回的值更新初始化的字符串
- 即使声明并初始化了变量,xpagegetComponent也总是返回null