繁体   English   中英

如何将getter方法添加到内置的String对象中?

[英]How do I add a getter method to the built in String object?

我试图向String添加一个getter方法,以便可以这样调用它:

'make me bold'.bold

没有括号。 下面是我如何试图定义功能,如所描述这里

String.prototype.defineProperty(window, 'bold', { get: function (input) {
  return ('</b>'+input+'</b>');
}});

它说defineProperty不是函数。 如果我也拿出原型也不行。 看起来可能与'String.prototype有关。 defineGetter ',但表示已弃用:

String.prototype.__defineGetter__('bold', function (input) {
  return ('</b>'+this+'</b>');
});

您需要使用Object.defineProperty:

Object.defineProperty(String.prototype, 'bold', { get: function (input) {
  return ('</b>'+this+'</b>');
}});

您可以将该函数添加到原型中:

 String.prototype.bold = function () { return ('</b>' + this + '</b>'); }; console.log('make me bold'.bold()) console.log('Ele from SO'.bold()) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM