Я использую только небольшой код, потому что так много происходит, и я надеюсь, что этого достаточно, чтобы ответить на мой вопрос.javascript: установка значения по умолчанию с инструкцией IF вместо OR
У меня есть несколько существующих JS, где значение определяется оператором OR, и я думаю, что мне нужно преобразовать это в оператор IF. Окончательный результат в настоящее время дает мне оба значения, если они оба существуют, и я хочу только «вопрос», где существуют значения «вопрос» и «имя».
var question = new fq.Question(questionData.answerId, topicId,
questionData['question'] || questionData['name'],
questionData['text']);
Вместо того, чтобы с помощью оператора (answerData['question'] || answerData['name']
) OR, я хотел бы сделать что-то похожее на следующее:
if (questionData['question'] is undefined) {
use questionData['question'];
} else {
use instead questionData['name']
}
Но, я не знаю, как я мог бы совершить такое заявление в пределах ()
в существующем коде, вставленном выше. Переменная/значение name всегда присутствует, поэтому нет риска для этого. Вопрос определен только некоторое время. И я не хочу, чтобы оба появлялись.
Это, вероятно, вне сферы моего запроса здесь, но для заполнения немного более подробной информации, этот код в конечном итоге выводит файлы JSON для тем и вопросов. Темы имеют только значения имен, а вопросы имеют как имена, так и вопросы, но мне нужны только вопросы json, содержащие значения вопросов, а не имена. Я уверен, что это ключевая часть во всех JS для определения
"* Конечный результат в настоящее время дает мне оба значения, если они оба существуют *" - нет, '||' никогда бы этого не сделал. Должно быть что-то еще, что неправильно. Покажите нам свой фактический код, который создает проблему, пожалуйста. – Bergi
Вы можете использовать вспомогательную переменную (которую вы условно назначаете), вспомогательную функцию (из которой вы возвращаете условно) или просто тернарный оператор (как встроенное выражение), но ни один из них не будет отличаться от '||' оператор. – Bergi
Возможно, вы имели в виду «Использовать' questionData ['question'] ', если это ** не **' undefined'?? – Bergi