4 совета по правильному использованию оператора return в коде

Оператор return — парадигма программирования, которую часто упускают из виду. Он позволяет указать значение, которое должно быть возвращено функцией, и сигнализирует об окончании ее выполнения. Правильное использование этого оператора может обеспечить бесперебойную работу вашего кода и предотвратить непредвиденные ошибки. Вот пять советов по эффективному использованию оператора return:

1. Используйте оператор return для завершения функции или метода

Оператор return сигнализирует об окончании функции или метода. Когда встречается оператор return, функция немедленно завершается:

function sayMyName(name) {
  console.log(name);
  return;  // end the function
}

Стоит отметить, что на оператор return влияет ASI (автоматическая вставка точки с запятой). Это означает, что вы не можете создать новую строку после вызова оператора return:

/* Incorrect - would return nothing and flag an error. */
return;
name;

/* Correct - would return the value of name. */
return (
 name;
);

2. Вернуть значение правильного типа данных:

При использовании оператора return обязательно возвращайте правильный тип данных предполагаемого значения. Если вы не вернете правильный тип данных, ваша программа будет вести себя непредвиденно и может привести к ошибкам. Это связано с особенностью JavaScript, известной как Приведение типов.

Ознакомьтесь с моими статьями Использование TypeScript и Начало работы с модульным тестированием JavaScript, чтобы узнать больше о том, как уверенно обойти эту ловушку.

function add(a, b) {
  return a + b;  // correct - returns a number
}

function subtract(a, b) {
  return a - b;  // correct - returns a number
}

function multiply(a, b) {
  return `${a} times ${b} is equal to: ${a * b}`;  // incorrect - returns a string
}

3. Вернуть значение, подходящее для функции

При написании функций важно учитывать, какая информация вам нужна из ваших данных и как она может повлиять на ваш код. Например, если вашей функции необходимо вычислить среднее значение списка чисел, возвращение суммы этих чисел будет неправильным.

Убедитесь, что вы тщательно продумали, какая информация вам нужна при написании функций и как она может повлиять на ваш код.

function average(numbers) {
  let total = 0;
  for (let number of numbers) {
    total += number;
  }
  return total;  // incorrect - returns the sum of the numbers, not the average
}

function average(numbers) {
  let total = 0;
  for (let number of numbers) {
    total += number;
  }
  return total / numbers.length;  // correct - returns the average of the numbers
}

При написании функции важно предусмотреть следующее:

  1. Для чего предназначен function
  2. Какие данные должен возвращать function
  3. Возвращаются ли данные неизменными

4. При необходимости используйте несколько операторов return

Иногда вы можете захотеть немедленно вернуть значение, если выполняются определенные условия. Это относится к использованию операторов if, а также операторов switch.

function options(option) {
  switch(option) {
    case 'DnD':
     return 'do-not-disturb';
   case 'Silent':
     return 'silent-mode';
   default: 
     return 'no-option-selected';
  }
}

function getOptions(option) {
 if (option === 'DnD') {
   return 'do-not-disturb';
 }

 return option;
}

В приведенной выше функции options мы можем опустить ключевое слово break вместе с временным variable для сохранения значения, если мы явно возвращаемся в пределах case — это делает код более читабельным и экономит память.

В функции getOptions мы также всегда можем гарантировать, что возвращаем значение независимо от того, выполняется ли условие. Если условие истинно, оно выполнит оператор return внутри if, если нет, он просто проигнорирует этот оператор и вернет значение option.

Следуя этим советам, вы сможете эффективно использовать оператор return и обеспечить бесперебойную и правильную работу своего кода. Правильное использование оператора return является неотъемлемой частью хорошей практики программирования, и, потратив время на его правильное выполнение, вы сможете избавить себя от многих головных болей в долгосрочной перспективе.

Вы можете узнать больше об операторе return на MDN.

Этот пост в блоге изначально был опубликован на dainemawer.com. Если вам понравилась эта статья, подпишитесь на меня в Твиттере @daine_mawer.