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