ПРИХОДИТЕ УЧИТЬСЯ НОВОЙ ПРОФЕССИИ ЛЕТОМ СО СКИДКОЙ ДО 70%Забронировать скидку

Условное присваивание в CoffeeScript: аналог тернарного оператора

Пройдите тест, узнайте какой профессии подходите и получите бесплатную карьерную консультацию
В конце подарим скидку до 55% на обучение
Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Если вы хотите использовать тернарный оператор ? : из JavaScript в CoffeeScript, воспользуйтесь оператором if else, написанным в одну строку:

coffeescript
Скопировать код
result = 'yes' if condition else 'no'

Значение 'yes' будет присвоено переменной result, если condition верно. В противном случае вернётся значение 'no'. В CoffeeScript это реализовано с удивительной простотой!

Пройдите тест и узнайте подходит ли вам сфера IT
Пройти тест

Краткое руководство: if/else в CoffeeScript

CoffeeScript позволяет использовать конструкцию if/else в роли выражения для непосредственного присваивания значений переменным:

coffeescript
Скопировать код
userStatus = if user.isActive then 'Logged in' else 'Out in the wild'

Здесь можно употребить кофе: Сокращение кода с помощью короткого замыкания

Вы можете упростить запись тернарных операций без ущерба ясности с помощью операторов короткого замыкания (&& и ||):

coffeescript
Скопировать код
access = user.isAdmin && 'Full Access' || 'Restricted Area: No entry'

Если user.isAdmin будет иметь значение true, то access примет значение 'Full Access'. Если же это условие не выполняется, тогда — 'Restricted Area: No Entry'.

Выбор пути на перекрёстке: Обработка нескольких условий

Для работы с несколькими условиями используйте switch.

coffeescript
Скопировать код
response = switch user.role
    when 'admin' then 'Access Granted: Welcome Big Boss'
    when 'moderator' then 'Limited Access: Keep out of the restricted files'
    else 'Access Denied: Sorry, these aren’t the droids you’re looking for.'

Важно поддерживать читаемость кода и соблюдать единообразие синтаксиса.

Визуализация

Представьте себе ситуацию на перекрестке, где выбор аксессуара зависит от погоды (☀️ или 🌧️):

Markdown
Скопировать код
Условие (☀️ или 🌧️)? 

            / ☀️ – Берем солнцезащитные очки (😎)
           /  
Перекресток 
           \  
            \ 🌧️ – Не забываем зонт (🌂)

В CoffeeScript это выглядит так:

coffeescript
Скопировать код
accessory = if sunny then '😎' else '🌂'

Используя условное выражение в CoffeeScript, вы без труда сможете определить, что взять с собой на улицу.

Подробное погружение: Полное руководство

Переключатель CoffeeScript: Обработка сложных конструкций

Чтобы правильно обработать сложные ситуации, используйте switch:

coffeescript
Скопировать код
dessert = switch favoriteFruit
    when 'apple' then 'Apple Pie'
    when 'banana' then 'Banana Split'
    when 'cherry' then 'Cherry Cheesecake'
    else 'Fruit salad: for the indecisive ones.'

Теперь выбор десерта зависит от переменной favoriteFruit.

Искусство CoffeeScript: Лучшие практики

  1. Цените ясность: Простой и понятный код всегда предпочтительнее замысловатых выражений. В конце концов, код в более частом случае читается, нежели пишется.
  2. Соблюдайте единообразие: Также как и утренний кофе должен быть вкусным, ваш код обязан быть единообразным по стилю и синтаксису. Это повышает его качество и упрощает работу другим разработчикам.

За кулисами чашки кофе: Почему нет специфического тернарного синтаксиса

Если вам интересно, почему в CoffeeScript отсутствует тернарный оператор, как в JavaScript, вы можете ознакомиться с объяснением от разработчиков здесь.

Полезные материалы

  1. CoffeeScript – Официальная документация CoffeeScript.
  2. MDN Web Docs – Руководство по тернарным операторам.
  3. GitHub Issue Tracker для CoffeeScript – для тех, кто стремится к знаниям.
  4. ESLint Rules – Следите за порядком и безошибочностью вашего кода на CoffeeScript.
  5. Rosetta Code – Примеры кода для обучения и справки.
  6. Сообщество CoffeeScript на Reddit – Обменивайтесь идеями, развлекайтесь и обменивайтесь опытом.