当前位置: 首页 > news >正文

2025-07-28 关于js中不写分号会报错的几种情况(Deepseek)

1. 以 ([`/+- 开头的行

  • 这些字符可能被解释为上一行的延续,导致意外结果。

  • 经典案例:

    const a = 1
    [1, 2, 3].forEach(console.log) // 报错:试图将 [1,2,3] 当作 1 的属性访问

    正确写法:

    const a = 1;
    [1, 2, 3].forEach(console.log);

2. 立即执行函数(IIFE)

  • 如果上一行没分号,IIFE 可能被当作函数调用:

    const x = 1
    (function() { console.log('IIFE') })() // 报错:1 被当作函数调用

    正确写法:

    const x = 1;
    (function() { console.log('IIFE') })();

3. 模板字符串或正则表达式

  • 模板字符串或正则可能被误认为是上一行的延续:

    const str = 'Hello'
    `World`.toUpperCase() // 报错:试图将模板字符串当作 'Hello' 的标签函数

    正确写法:

    const str = 'Hello';
    `World`.toUpperCase();

4. returnthrowyieldbreakcontinue 后换行

  • 这些关键字后的内容如果换行,ASI 会提前插入分号:

    function foo() {return{ a: 1 } // 实际返回 undefined
    }

    正确写法:

    function foo() {return { a: 1 };
    }

5. importexportletconstvar 后直接换行

  • 某些情况下换行会导致解析错误(较少见,但需注意):

    const a = 1
    export { a } // 无问题,但某些工具链可能要求分号

6. 代码压缩工具(如 Webpack、Rollup)的潜在问题

  • 压缩后的代码可能因缺少分号导致合并错误(现代工具通常能处理,但历史项目需注意)。


总结:何时必须写分号?

  • 当下一行以 ([`/+- 开头时。

  • 在 IIFE、模板字符串、正则等特殊语法前。

  • 在 return/throw 等关键字后需要直接返回值时。

  • 使用老旧工具链或代码压缩时。

 

http://www.wuyegushi.com/news/938.html

相关文章:

  • 【好题选讲】P1516 青蛙的约会
  • 文件描述符
  • 机器学习常见的任务类型
  • 一期6.文本摘要
  • day06
  • Anime.js - 轻量级JavaScript动画库
  • 无监督通用异常检测方法SEAD解析
  • Metasploit Framework 6.4.76 (macOS, Linux, Windows) - 开源渗透测试框架
  • C#性能优化:为何 x * Math.Sqrt(x) 远胜 Math.Pow(x, 1.5)
  • Metasploit Pro 4.22.8-2025063001 (Linux, Windows) - 专业渗透测试框架
  • Spring AI 框架中如何集成 MCP?
  • 提升效率:AI 知识库在软件开发中的应用
  • Microsoft SQL Server 2022 RTM GDR CU20 (2025 年 7 月更新)
  • SQL Server Management Studio (SSMS) 21 - 微软数据库管理工具
  • 使用Python进行文件操作
  • 两种刻板印象
  • Microsoft SQL Server 2019 RTM GDR CU32 (2025 年 7 月更新)
  • 分享一个 MySQL binlog 分析小工具
  • OI 回忆录
  • 后端开发必备:生产环境异常自动电话通知方案
  • Microsoft SQL Server 2017 RTM GDR CU31 (2025 年 7 月更新)
  • Vue3入门与工程化实践
  • 分块莫队
  • ACME协议
  • Microsoft SQL Server 2016 with SP3 GDR (2025 年 7 月更新)
  • 网络流量中的旗帜狩猎:Wireshark CTF实战手册
  • AC自动机?WA了。。
  • sa后缀数组7.28
  • 哈希 kmp trie树
  • 多语言ppt改进