js不写分号时遇到的bug

使用ES6语法进行值交换时使用了类似下面的代码,

var t = 2
var r = 1
[r,t] = [t,r]
console.log(r,t)

你是不是以为结果会是2 1
实际的输出结果是:[2, undefined] 2
原来就算是用回车换行,方括号还是会和var r = 1合并到一行,变成var r = 1[r,t] = [t,r],所以我们需要在方括号前加分号防止它和上一句代码合并。

我还不清楚错误的结果是如何生成的,欢迎大家在评论中多多指教~

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,196评论 0 13
  • 0. 写在前面 当你开始工作时,你不是在给你自己写代码,而是为后来人写代码。 —— Nichloas C. Zak...
    康斌阅读 5,362评论 1 42
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,695评论 1 45
  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 2,049评论 0 2
  • 鸿雁千只排一行, 翱翔展翅去关乡。 整齐壮观令人叹, 更感灵禽铁律强。
    进退有度阅读 315评论 0 1