2 つのいずれかを行わない限り、list
変数はプライベートになります。f()
まず、必要なプロパティにアクセスできるように、list
から戻ってみることができます。f()
function f() {
var list = [{name: 'test'}, {name: 'test2'}];
return list;
}
var f = f();
f[0] // {name: 'test'};
f['test'] // will return undefined; we'll come back to this
2番目に、質問に「oop」のタグを付けたので、このオプションはおそらくあなたが探しているものだと思います。f()
コンストラクターを作成できます。
function f() {
this.list = [{name: 'test'}, {name: 'test2'}];
}
var f1 = new f();
f1['list'][0] // {name: 'test'};
f1.list[0] // will also return {name: 'test'};
f1.list['test'] // still will return undefined...
...
['test']
orを使用して値にアクセスできない['test2']
理由は、それらが値であるためです。通常、値は、キー (この場合は['name']
or .name
) を使用してオブジェクトでアクセスしたいものです。したがって、次のようなものが必要になる場合があります。
f1.list[0].name // will return 'test'
f1.list[1].name // will return 'test2'
これで混乱が解消されることを願っています。