Должен ли я предпочесть функции сравнивать с переменными в JavaScript? - PullRequest
1 голос
/ 14 марта 2019

Я видел в конкретном проекте этот синтаксис, используемый постоянно:

function a() {
    return 'hello';
}
function b() {
    return `${a()} world`;
}
b();

и все переменные были почти опущены. Почему просто не используйте синтаксис ниже?

const a = `hello`;
const b = `${a} world`;
console.log(b);

Какое преимущество имеет функция, используемая для возврата сравнения строк в const, потому что я не вижу практического. Мне приходит в голову только то, что const b выполняется все время, по сравнению с function b, который выполняется только при вызове. Я что-то упустил?

1 Ответ

0 голосов
/ 14 марта 2019

Если целью является предоставление пути API, функциональный подход обеспечивает большую гибкость.

IE:

Вы можете переключать среду (тестирование / постановка / продвижение) в зависимости от условий (данные IE dotENV). Это полезно при управлении базовым URL вашего API

function getENV() {
  switch (process.env.NODE_ENV) {
    case 'production': {
      return URL_PROD;
    }
    case 'staging': {
      return URL_STAGING;
    }
    case 'test': {
      return URL_TEST;
    }
    default: {
      return DEFAULT_URL;
    }
}

Другая функция может смешивать baseURL по умолчанию с вашими конечными точками, хранящимися в переменных

IE:

function getEndpointURL(endpoint) {
    return `${getENV()}/${endpoint}`
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...