为了账号安全,请及时绑定邮箱和手机立即绑定

使用ES6的 对象字面量简写语法(object-shorthand), IDEA提示警告

使用ES6的 对象字面量简写语法(object-shorthand), IDEA提示警告

摇曳的蔷薇 2018-11-09 14:11:36
const obj = {  b: 1,  func1: function () {    return obj.b;  },  func2 () {    return obj.b;  }};obj.func1();obj.func2();Intellij IDEA 2017.1中, func1 没有警告, func2 却提示 Variable might not have been initialized6, 为什么?注:低版本IDEA 也存在问题JavaScript language version 选择了 ECMAScript 6Node.js and NPM 选择了 7.7.3
查看完整描述

1 回答

?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

这个和 IDE 无关,而是在 JS 中,两种写法的区别。

第一种写法,func1 是在执行那一行的时候才定义的,而第二种写法是在执行obj的时候就已经定义了的。

由于 func2 是在定义 obj 的过程中定义的,因此,当执行上下文处于 func2 的时候,obj 的定义可能还没有执行完,也就会认为可能找不到 obj


查看完整回答
反对 回复 2018-12-04
  • 1 回答
  • 0 关注
  • 908 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号