【发布时间】:2018-04-09 06:27:43
【问题描述】:
我正在尝试在 TypeScript 中实现 Maybe.withDefault 之类的东西:
const locale = 'en-US'; //navigator.language
const systemLanguage:Language = withDefault(locale, 'en');
const languages = {en: <'en'>'en', mk: <'mk'>'mk', es: <'es'>'es'};
type Language = keyof typeof languages;
const withDefault = (candidate: string, def: Language): Language =>
languages[langCandidate] ? languages[langCandidate] : def;
虽然我了解string 与Language 之间的冲突,但我想知道如何在不更改给我紧密类型的语言结构的情况下解决这个问题。
【问题讨论】:
标签: typescript types functional-programming typescript2.0