首页 > 解决方案 > 将原型函数添加到特定字符串?

问题描述

我在一个使用 lodash 的类中有一个方法get,看起来像这样:

get(path, defaultValue = '–') {
  const result = _.get(this, path, defaultValue);
  return result;
}

假设这result是一个字符串,是否有机会添加一个原型方法isDefault?我在下面尝试了实现,但它不起作用:

get(path, defaultValue = '–') {
  const result = _.get(this, path, defaultValue);
  result.isDefault = () => result === defaultValue;
  return result;
}

我知道我可以将结果包装在一个类中并在那里定义方法,但我也想写console.log(result)一个字符串来打印在我的屏幕上。

标签: javascript

解决方案


您的字符串是一个原始字符串,它实际上不是字符串的实例,因此您需要将结果赋值包装在 String 实例中:

const result = new String(_.get(this, path, defaultValue));

推荐阅读