js 动态访问对象属性

在javascript中,我们使用以下两种方法访问对象属性:

  • 点符号 - foo.bar

  • 方括号 - foo[someVar]foo["string"]

但只有第二种情况允许动态访问属性:

var foo = { pName1 : 1, pName2 : [1, {foo : bar }, 3] , ...}var name = "pName"var num  = 1;

foo[name + num]; // 1// -- var a = 2;var b = 1;var c = "foo";

foo[name + a][b][c]; // bar

因此, 要使用变量动态访问对象属性,可以使用第二种方法“方括号法”,如下所示:

let foo = {
    bar: 'Hello World'};let prop = 'bar';

foo[prop];