给出一个无法解析为int的字符串,String.charAt()返回什么?

时间:2013-07-02 15:26:09

标签: javascript string

'test'.charAt('not an integer');

此代码始终返回't',我猜测当charAt()的参数无法转换为整数时,它只返回第一个字符。

但我似乎无法找到记录此行为。我的假设是否正确,你能否指出我记录这种行为的资源?

1 个答案:

答案 0 :(得分:2)

是的,它会在第一个位置返回角色。来自ECMAScript 5 spec

  

让位置为ToInteger(pos)。

和ToInteger的规范:

  

设number是在输入参数上调用ToNumber的结果。

和ToNumber的规范:

  

如果语法不能将String解释为StringNumericLiteral的扩展,则ToNumber的结果为NaN。

并返回ToInteger:

  

如果number为NaN,则返回+0。