Javascript字符串字面语法规则



有人能解释一下的原因吗

const btn1 = document.querySelector('input[id="btn"]')

要求我使用('input[id="btn"]')而不是("input[id="btn"]")('input[id='btn']')

因为JavaScript引擎需要能够明确地确定字符串文字的开始和结束位置。

如果允许在字符串中使用与字符串分隔符相同的未标注字符,解释器将如何确定该字符是否用于终止字符串,或者是否将其解释为作为字符串一部分的文字'(或"(?

需要严格的语法规则,才能对JavaScript源文本进行明确的评估。(但是字符串转义是非常琐碎的,并且在大多数编程语言中都很常见。(对于任何语言,只要学习一次,你就可能非常适合理解它在许多其他语言中的工作方式。在JS中,与许多更复杂的构造(如async/await(相比,它真的没有那么难。

您可以删除属性选择器上的引号,以防止出现愚蠢的格式化规则:

const btn1 = document.querySelector('input[id=btn]')

最新更新