Можно ли ссылаться на имя объявления переменной объекта внутри самого объекта?
Что-то вроде:
const foo = {
bar: `${MAGICTHIS}-bar`,
}
console.log(foo.bar); //foo-bar
EDIT:
Я пишу динамическую функцию для перезаписи всех моих имен классов CSS в BEM в объекте. Я делаю это, чтобы иметь возможность управлять ими в одном месте через мое приложение. Без функции это так:
export const button = {
btn: 'button',
btnSm: 'button--small',
btn2: 'button--secondary',
export const alert = {
alert: 'alert',
alertDanger: 'alert--danger',
//etc
}
Они разделены на разные объекты, потому что я хочу изолировать использование.
Я хотел оптимизировать это, так как я буду делать это много. Вот почему я пытаюсь написать функцию «ошеломить». Так что я могу сделать это:
export const button = {
btn: bemmify(),
btnSm: bemmify('small'),
btn2: bemmify('secondary'),
export const alert = {
alert: bemmify(),
alertDanger: bemmify('danger'),
//etc
}
И имеют тот же результат, что и объекты выше.
Конечно, я всегда мог передать «базу» в качестве первого параметра (bemmify('button', 'small')
), но я начал задаваться вопросом, можно ли было позволить моей функции bemmify быть настолько умной, чтобы она могла распознавать имя объекта, в котором она находится.