Javascript 仅在作用域内附加到字符串原型的函数

Javascript 仅在作用域内附加到字符串原型的函数,javascript,scope,ecmascript-6,prototype-programming,Javascript,Scope,Ecmascript 6,Prototype Programming,向类(例如String原型)添加方法非常简单。但是,这会影响全局范围内的所有字符串 我如何添加一个可以从所有字符串文本访问的方法,例如:“foo”.bar(),这样该方法只能在ES6类的范围内访问,比如说,或者只能在函数调用中访问?恐怕您无法做到这一点。而且这似乎是个坏主意。 如果只使用普通函数,可能会更好。比如:bar(“foo”)恐怕你做不到。而且这似乎是个坏主意。 如果只使用普通函数,可能会更好。比如:bar(“foo”)这是不可能的。字符串是基本体。当它们像对象一样使用时,它们被强制为S

向类(例如
String
原型)添加方法非常简单。但是,这会影响全局范围内的所有字符串


我如何添加一个可以从所有字符串文本访问的方法,例如:
“foo”.bar()
,这样该方法只能在ES6类的范围内访问,比如说,或者只能在函数调用中访问?

恐怕您无法做到这一点。而且这似乎是个坏主意。
如果只使用普通函数,可能会更好。比如:
bar(“foo”)

恐怕你做不到。而且这似乎是个坏主意。
如果只使用普通函数,可能会更好。比如:
bar(“foo”)
这是不可能的。字符串是基本体。当它们像对象一样使用时,它们被强制为
String
实例(因此可以使用
String.prototype
方法)。这种行为不取决于范围

为了

可能是

new Superstring('foo').bar();


这是不可能的。字符串是基本体。当它们像对象一样使用时,它们被强制为
String
实例(因此可以使用
String.prototype
方法)。这种行为不取决于范围

为了

可能是

new Superstring('foo').bar();

const bar = (str) => Superstring.prototype.bar.call(str);

bar('foo');