Не могу получить значения this [дубликат]

135
11 мая 2019, 03:20

На данный вопрос уже ответили:

  • Потеря контекста вызова 5 ответов

var constants = { 
    DIR: { 
        HOME: "/", 
        MODELS:  "/models", 
        CONTROLLERS: "/controllers", 
        ROUTES: "/routes", 
        DATABASE: "/app/database", 
        DATA: this.DIR 
    }, 
    REQUIRE: { 
        CONFIG: { 
            DATABASE: 'config.json', 
            APP: 'config.json' 
        }, 
        UTILS: { 
            HELPERS: { 
                CRYPTO: 'utils/helpers/crypto.js' 
            } 
        } 
    } 
}; 
 
console.log(constants);

Вопрос почему DIR.DATA = undefined? Каким образом обратится к внутренним переменным.?

Answer 1

В данном виде this == Window. this в метод засунуть нужно для привязки контекста. Тогда он будет ссылаться на внешний объект в момент вызова. Получить DIR в его же методе (если так уж сильно хочется использовать контекст): DATA: function () { return this }

Answer 2
const constants = {
DIR: {
    HOME: "/",
    MODELS:  "/models",
    CONTROLLERS: "/controllers",
    ROUTES: "/routes",
    DATABASE: "/app/database",
    get DATA() {
        return this;
    }
}

};

Либо просто методом.

READ ALSO
Как исходный код на jQuery выглядит на JavaScript

Как исходный код на jQuery выглядит на JavaScript

У меня есть код на jQuery, но я хочу разобраться, как он работает и как выглядит на чистом JSМожете мне пожалуйста помочь, сконцентрировав его...

151
React синтаксис

React синтаксис

изучаю react, есть код

159