【发布时间】:2017-05-19 10:57:42
【问题描述】:
我知道联合类型,但是这种管道语法是什么意思?
let propName: "name" | "age" | "location";
来源:https://blogs.msdn.microsoft.com/typescript/2016/12/07/announcing-typescript-2-1/
【问题讨论】:
标签: typescript typescript2.1 union-types
我知道联合类型,但是这种管道语法是什么意思?
let propName: "name" | "age" | "location";
来源:https://blogs.msdn.microsoft.com/typescript/2016/12/07/announcing-typescript-2-1/
【问题讨论】:
标签: typescript typescript2.1 union-types
回答我自己的问题:这些是 https://www.typescriptlang.org/docs/handbook/advanced-types.html#string-literal-types 中的“字符串文字类型”
字符串字面量类型允许您指定字符串必须具有的确切值。在实践中,字符串文字类型与联合类型、类型保护和类型别名很好地结合在一起。您可以结合使用这些功能来获得类似枚举的字符串行为。
【讨论】:
keyof 运算符采用类型 T 并返回字符串字面量类型,由 T 的属性组成(表达式 keyof T 称为 indexed type query)。
我们称之为管道运算符。
实验性管道运算符|>(目前处于阶段 1)允许以可读的方式创建链式函数调用。基本上,管道运算符在函数调用中提供语法糖,使用单个参数允许您编写
'%21' |> decodeURI 而不是decodeURI('%21')。
例如:这就是它的工作原理
【讨论】: