Object.defineProperty在safari中表现得很奇怪

时间:2016-04-04 03:28:51

标签: javascript safari

Google search

var m = '123'.match(/123/)
alert(m.slice(0))

function Cls() {
    Object.defineProperty(Cls.prototype, "1", {})
}
new Cls()

var m2 = '123'.match(/123/)
alert(m2.slice(0))

第一个alert输出' 123'。在调用Object.defineProperty之后,第二个输出一个空字符串。

此问题仅在道具名称为数字时出现。例如:"1""100",直到"4294967294"

这是Safari的错误吗?

P.S。

function Cls() {
    Object.defineProperty(Cls.prototype, "1", {})
}
new Cls()

这些代码来自Immutable.js' https://jsfiddle.net/smfod698/1/对象

'str'.match(/reg/)来自react-router' s Record

我使用这两个库,并将一个带有数字名称的属性定义为Record,然后,我发现react-router无法正确解析路径参数。

0 个答案:

没有答案