直到现在,TypeScript通常会跳过代码中的大多数正则表达式。这是因为正则表达式在技术上具有可扩展的语法,而TypeScript从未尝试将正则表达式编译为较早版本的JavaScript。然而,这意味着许多常见的正则表达式问题将无法被发现,它们要么会在运行时变成错误,要么悄无声息地失败。
但是TypeScript现在可以对正则表达式进行基本的语法检查了!
这是一个简单的例子,但这种检查可以发现许多常见的错误。实际上,TypeScript的检查比语法检查略微深入一些。例如,TypeScript现在可以检测到不存在的回溯问题。
该检查同样适用于命名捕获组。
TypeScript 的检查现在也知道在使用某些 RegExp 特性时是否超过了您所针对的 ECMAScript 版本。例如,如果我们在针对 ES5 的目标中使用上面所示的命名捕获组,就会出现错误。
对于某些正则表达式标志也是如此。
需要注意的是,TypeScript仅支持正则表达式字面量。如果您尝试使用字符串字面量调用 new RegExp ,TypeScript不会检查提供的字符串。
欢迎关注公众号:清晰编程,获取更多精彩内容