字符串和数组泛型方法将来将被弃用

问题描述 投票:0回答:1

下面的链接(MDN 站点)显示“字符串泛型是非标准的,已弃用,将来可能会被删除。请注意,如果不使用下面提供的填充程序,则不能跨浏览器依赖它们。”

他们所指的方法是指他们在此声明下方提供的垫片中列出的方法吗?这是我见过的唯一对“字符串泛型”短语的引用,所以它让我感到困惑。

对于数组泛型也有同样的问题,因为该网站也提到了类似的情况。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String#String_generic_methods

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array#Array_generic_methods

javascript arrays string methods
1个回答
6
投票

Generic 意味着“指代所有”,在这种情况下,它意味着独立于实例的方法,即

var foo = 'bar';
String.split(foo, 'a'); // "generic" method, non-standard, will throw ReferenceErrors
foo.split('a'); // instance method, standard

您不太可能以非标准方式编写任何代码,因为它已经无法在大多数人的浏览器上运行。


如果您使用这种方式访问 bar 类型 Foo 的方法以在 Foo-like 事物上使用它们,请改为通过 Foo.prototype.bar.call ,即

var baz = {length: 2, 0: 'fizz', 1: 'buzz'}; // Array-like
Array.slice(baz, 0, 1); // bad
Array.prototype.slice.call(baz, 0, 1); // good
© www.soinside.com 2019 - 2024. All rights reserved.