Проходя технические собеседования, встречаешь много программистов с большим профессиональным опытом. Разговоры с ними могут многое рассказать о том, как они работают в реальном мире программирования. В последнем техническом интервью, которое у меня было, интервьюер и я поговорили об использовании условных операторов if/else по сравнению с тернарными операторами. Поскольку они предпочитают использовать операторы if/else, так как читаемость лучше для других программистов, чтобы они могли читать и понимать написанный код. Меня учили, что чем меньше кода вы пишете, тем лучше. Я думаю, это просто зависит от того, кого вы спросите. Хотя я вижу, как вложенные тернарные условные операторы могут запутаться, но опять же, это зависит только от того, кто читает код.

Я взял на себя задачу развить универсальность в использовании обоих методов. Я считаю, что развитие обоих навыков поможет мне лучше понять синтаксис при написании условных выражений.

Я пользуюсь веб-сайтом edabit.com, где есть тысячи заданий разного уровня. Мой план сейчас состоит в том, чтобы переписать каждый оператор if/else в тернарный оператор, как только я пройду испытание.

Первая задача состоит в том, чтобы выяснить, является ли слово множественным числом или нет; возвращая истину или ложь. Сначала я выполнил задачу с помощью метода if/else:

function isPlural(word) {
 if (word.endsWith('s')) {
  return true
 } else return false 
}

Это можно переписать на:

function isPlural(word) {
 return word.endsWith('s') ? true : false
}

Это, на мой взгляд, более чистое и обучающее, а читабельность также удобна для пользователя.

Следующая задача — найти тип невычисленного операнда в пятом аргументе функции, если он существует. Напишем снова с помощью метода if/else:

function fifth(...args) {
 if (args.length < 5) {
  return 'Not enough arguments'
 }
 return typeof args[4]
}

Теперь с тройным:

function fifth(...args) {
 return args.length < 5 ? 'Not enough arguments' : typeof args[4]
}

Честно говоря, я считаю, что тернарный оператор — лучший способ написать простые операторы if/else, хотя работа с вложенными тернарными операторами может быть немного запутанной, и я вижу, как некоторые люди предпочитают if/else. Развитие письма обоими методами поможет мне адаптироваться к любой среде, в которой есть предпочтительный выбор.