javascript – 什么时候字符串不是字符串?什么时候没有include()方法?

我正在尝试编写一个简单的javascript(well coffeescript)测试,并且有一些令人困惑的事情:

dclib.appendVarToUrl = (base, k, v) ->
  check base, String
  console.log("base is a:", typeof(base))
  if base.includes("?")
     ... 

// called with
dclib.appendVarToUrl("some/url", "score", 5)

给我:

base is a: string
TypeError: Object some/url has no method 'includes'

那么为什么String没有.includes()方法呢?
这个coffeescript以奇怪的方式包裹着一个物体吗?

解决方法:

啊啊,看起来我的浏览器支持这个作为ES6方法,但我正在使用的节点版本没有.我在服务器上运行单元测试,而方法在客户端运行正常.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes

This is an experimental technology, part of the ECMAScript 6 (Harmony) proposal.

上一篇:javascript – 窥探sinon中的咖啡脚本构造函数


下一篇:php – 使用Slim框架和Twig模板时出错