【发布时间】:2017-07-16 03:29:32
【问题描述】:
我指的是MDN Documentation for Javascript here。
它说以下 RegExp 属性已被弃用:
$1-$9
$_
$*
$&
$+
$`
$'
input
lastMatch
lastParen
leftContext
rightContext
为什么它们被弃用了?它们不都是有用的属性吗?如果有的话,新的替代品是什么?
具体来说,文档说:
“不推荐使用以下属性。这不会影响它们在替换字符串中的使用。”
这听起来是不是自相矛盾?
【问题讨论】:
-
您希望将它们用于什么?知道用什么代替会更有用,但不知道自己在做什么就很难说。
-
问题在于它们是全局(静态)属性,是从正则表达式实例上的方法调用分配的。这包括泄漏信息、在意外时间更改值以及通常导致错误行为和不可读代码。
标签: javascript regex ecmascript-6 deprecated regex-group