js获取对象属性问题

一直以来我用[]获取js的属性,突然今天发现,用[[]]也可以,下面例子

    var a = {a: 1, b: 2};
    a[['a']];//1
    a[[['b']]];//2
    a[['a'], ['b']];//2
    a[['a'], [['b']]];//2

颠覆了我的想法,所以,请问解析的规则到底是什么

阅读 1.3k
1 个回答

a[['a']] => a[(['a']).toString()] => a['a']

a[['a'], [['b']]] => a[(['a'], [['b']]).toString()] == a['b']

got it?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题