Как я могу добавить геттеры (или прототип / метод) ко всем объектам. У меня есть объект, который выглядит так:
foo.bar.text
//or
foo.bar.child.text
text
- это массив строк, но мне нужна только одна из них. Каждый раз, когда я получаю это значение, я хочу получить только один фиксированный индекс (этот индекс сохраняется в другой переменной).
Итак, что мне нужно в результате:
foo.text = ['a','b']
foo.bar.text = ['c','d']
foo.bar.someChild.text = [null, undefined]
x = 1;
// here we make some magic
console.log(foo.text) // b
console.log(foo.bar.text) // d
console.log(foo.bar.someChild.text) // undefined
Так что, если какой-либо объект содержит массив text
, если мы попытаемся получить его, мы получим не массив, а некоторый определенный элемент из него.
Вручную указать на элемент, который я не могу, поэтому foo.bar.text[x]
не вариант. Имя массива и переменной, которые мы получаем, необязательно, например, мы можем сохранить массив в fullText
и попробовать получить text
. Как будто text = fullText[x]
.
Может кто-нибудь посоветовать, как я могу реализовать это, геттер, сеттер, прототип?
Обновление Похоже, прокси - мой вариант, спасибо за совет!