当前位置: 首页 > 知识库问答 >
问题:

在javaScript中,为什么在类型转换为字符串时不将其识别为关键字?

笪建章
2023-03-14

在javaScript中将类型转换为字符串显然忽略了let作为关键字。

< code>String(let)引发错误引用错误:let未定义

然而,String(var)抛出错误SynTaxError:意外令牌“var”

这是有意的行为吗?

共有1个答案

景书
2023-03-14

“保留关键字”不能用作标识符(变量名)。var是保留关键字。

let不是保留关键字,因为这会破坏向后兼容性:没有ES6编写的古老脚本,如果碰巧将let用作变量名,将会失败(浏览器会努力避免破坏向后兼容性

  • 请参阅该问题以获取扩展解释)。

因此,使用String(var)会引发语法错误,但在语法上允许使用 -up,直到您尝试引用它为止(此时会引发错误,因为不存在名为 let变量)。

出于完全相同的原因,可以定义名为let的变量,但不能定义名为var:

var let = 123;
console.log(String(let));
 类似资料:
  • 问题内容: Oracle Java Community网站上的一篇文章提供了以下方法作为示例(对于JPA Converter,但这并不相关): 将String y强制转换为String val有什么用?有正当的理由吗? 原始文章:JPA的新增功能 问题答案: 这样的转换是完全没有必要的。我可以想象那是以前 但是后来参数类型更改为,而作者只是忘了删除强制类型转换。

  • 我正试图通过对象运行字符串列表。当我单独做的时候,它会工作,但是当我把它作为一个字符串传递时,它就不工作了。我该如何解决这个问题? 是什么导致第一个示例不起作用?变量数据是否将其视为faq。“IntegrationItem1”而不是faq.IntegrationItem1?

  • 问题内容: 在Python中,以下代码会产生错误: (错误是“ TypeError:无法连接’str’和’int’对象”)。 当Python解释器遇到这些类型的串联时,为什么为什么不自动尝试使用str()函数? 问题答案: 问题在于转换是模棱两可的,因为它意味着 字符串连接 和 数字加法 。以下问题同样有效: 为什么Python解释器在遇到这些类型的 添加* 时不自动尝试使用 int() 函数?

  • 问题内容: 给定python字符串列表,如何自动将其转换为正确的类型?意思是,如果我有: 我希望将其转换为列表 其中第一个元素是stuntng,第二个元素是int,第三个元素是float,第四个元素是int。 我怎样才能做到这一点?谢谢。 问题答案: import ast

  • 问题内容: 我的问题与这一问题非常相似,除了我有一个列表字典,而且我有兴趣将键值和每个列表形式中的所有元素都更改为。 因此,例如,我想要字典: 成为: 这可能吗? 由于我是从格式文件创建此字典的,因此更一般 具有以下说明: 有没有一种方法可以在加载时直接进行? 问题答案: 用于值列表 在您的情况下: 要么

  • 问题内容: 我试图从返回的字符串转换成。Go中惯用的方式是什么? 问题答案: 例如,