[英]js: define options for function arguments
我有一个关于 Javascript/Typescript functions arguments and clean code的问题。 所以我会用一个简单的例子来说明我的意思。
我创建了一个以view
属性作为道具的 React 组件:
<Grid view="Horizontal" />
type PropsInterface = {
view: string
}
const Grid = ( { view }:PropsInterface )=>{
...
}
view
可以有多个选项。 例如:“水平”、“垂直”等。
问题:定义view
选项的最佳方式是什么,以便我不会忘记它们或其他开发人员可以轻松理解? 底部方法好吗? 有更好的方法吗?
type PropsInterface = {
view: "Horizontal" | "Vertical"
}
Typescript 具有枚举类型 -
enum ViewDirection {
Horizontal = "Horizontal",
Down = "Vertical",
}
在现代 TypeScript 中,当带有 const 的 object 就足够时,您可能不需要枚举:
所以你可以这样做:
const ViewDirection = {
Horizontal = "Horizontal",
Down = "Vertical",
} as const;
VS 字符串类型
如果字符串的值可能会发生变化,那么使用字符串枚举意味着仅更改 1 个字符串文字,而使用字符串类型意味着在使用它们的任何地方都进行更改。
在外行术语中,您可以将Horizontal = "Horizontal"
更改为Horizontal = "H"
而无需在使用字符串枚举时在任何地方进行更改。
在这里更深入:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.