小编NSj*_*nas的帖子

Javascript正则表达式捕获

我确信堆栈溢出可能有类似的东西,但我找不到任何东西,并且对于非常简单的东西感到非常沮丧.

我需要使用javascript捕获部分URL(类似于url重写引擎).

网址结构:

http://example.com/constant/CAPTURETHIS

http://example.com/constant/CAPTURETHIS/

http://example.com/constant/CAPTURETHIS#noise

http://example.com/constant/CAPTURETHIS/#noise
Run Code Online (Sandbox Code Playgroud)

我需要返回所有3个senerios的CAPTURETHIS文本

javascript regex

1
推荐指数
1
解决办法
370
查看次数

将枚举映射到类型

我试图在枚举上使用映射类型

export enum CurrencyType {
  USD = "USD",
  AUD = "AUD",
  GBP = "GBP",
  CAD = "CAD"
}
Run Code Online (Sandbox Code Playgroud)

实现这种类型:

type Rates = {
  AUD: number;
  CAD: number;
  GBP: number;
  USD: number;
}
Run Code Online (Sandbox Code Playgroud)

我以为我可以做这样的事情:

type Rates = {
  [P in keyof CurrencyType]: number;
};
Run Code Online (Sandbox Code Playgroud)

但是结果是这样的:

type Rates = {
    toString: number;
    charAt: number;
    charCodeAt: number;
    concat: number;
    indexOf: number;
    lastIndexOf: number;
    localeCompare: number;
    match: number;
    replace: number;
    //...
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用union literals替代enum

export type CurrencyType = …
Run Code Online (Sandbox Code Playgroud)

typescript mapped-types

1
推荐指数
1
解决办法
792
查看次数

vscode 用户定义代码段中的 if/else 条件

查看用户定义片段vscode 文档,似乎使用正则表达式转换,您可以执行 if/else 条件。

但是,我似乎找不到任何这样的例子,而且我正在努力理解仅基于 BNF 的正确语法。

有人可以解释一下这个语法吗?

例如,

假设我有一个这样的片段:

"body": [
    "let color = '${1|white,black|}';",
    "let hex = '${???}';"
]
Run Code Online (Sandbox Code Playgroud)

如果color==white,我想要十六进制输出#fff,否则如果黑色#000

visual-studio-code vscode-snippets

1
推荐指数
1
解决办法
1964
查看次数

所有返回类型与函数列表的交集类型

假设我有一个像这样的函数数组:

const foo: Array< () => object > = [
    () => ({ one: 'fish' }),
    () => ({ two: 'fish' }),
    () => ({ red: 'fish' }),
    () => ({ blue: 'fish' })        
]
Run Code Online (Sandbox Code Playgroud)

是否可以编写一个与所有这些函数的返回类型相交的类型?

{
  one: string,
  two: string,
  red: string,
  blue: string,
}
Run Code Online (Sandbox Code Playgroud)

基本上,如果将所有这些函数简化为单个结果,将会产生什么结果的类型。

typescript mapped-types

1
推荐指数
1
解决办法
329
查看次数