将原型函数添加到特定字符串?

时间:2018-10-11 17:50:59

标签: javascript

我在类中有一个使用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)以便在屏幕上打印一个字符串。

1 个答案:

答案 0 :(得分:1)

您的字符串是原始字符串,实际上不是字符串的实例,因此您需要将结果分配包装在String实例中:

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