在String.prototype上定义动态属性是不好的做法吗?

时间:2016-11-07 13:05:30

标签: javascript prototype dynamic-properties

我最近发现在Javascript String原型上定义动态属性会很棒(/简单/方便),所以你可以使用你的字符串文字和变量,就像在ruby中工作一样。举个例子:

// Using ES2015 syntax features
Object.defineProperty(String.prototype, 'ucFirst', {
  get() {
    return this.charAt(0).toUpperCase() + this.substr(1);
  }
});

通过这种方式,您可以像这样使用字符串:

"foo".ucFirst                        // "Foo"
"lorem ipsum dolor sit amet".ucFirst // "Lorem ipsum dolor sit amet"
$t('some_i18nized_string').ucFirst   // You get it

我已经可以想象出一大堆方便的应用程序,我不确定。它有效,但我有点害怕它可能是不好的做法,它有点闻起来很有趣。

让我知道你对此的看法。

0 个答案:

没有答案
相关问题