如何从String.prototype中获取字符串

时间:2018-04-10 10:26:35

标签: javascript string prototype

我想为String编写一个log方法,可以打印string,但不能正确使用

String.prototype.log = () => console.log(this.toString())
'Print Me'.log()  // [object Window]

我想打印Print Me,而不是[object Window],我该怎样才能让它发挥作用

2 个答案:

答案 0 :(得分:1)

哦,是的!确实如此。错误是this没有指向箭头函数中的字符串:



String.prototype.log = function() {
  console.log(this.toString())
}

'Print Me'.log();




您可以看到使用常规功能时它可以正常工作。您需要阅读有关箭头函数的词法范围的更多信息。

答案 1 :(得分:1)

箭头函数中的

this属于封闭上下文。你不应该在这里使用箭头功能,因为你需要访问字符串对象。

成功

String.prototype.log = function() { console.log(this.toString()) }