Функция Syntastic в Vim утверждает, что может не вернуться

РЕДАКТИРОВАТЬ: Syntastic настроен для использования JSLint

EDIT2: я использую JavascriptLint, а не JSLint

На приведенный ниже код синтетический предупреждает function inside does not always return a value

function(){
 switch(age){
 case 1:
  return 'won';
 case 2:
  return 'too';
 case 3:
  return 'tree';
 default:
  throw 'wow man, you are old!';
  break; //technically redundant
 }
}

я понимаю default не возвращает значение, но throw заканчивает исполнение Это синтетическая ошибка, или я должен изменить свой стиль кодирования? Должен ли я положить return заявление после throw?

1 ответ

Решение

Синтаксический использует JSLint для проверки синтаксиса Javascript.

JSLint, как известно, слишком осторожен, чтобы избежать ошибок. Вы можете либо проигнорировать сообщение по своему усмотрению, либо отключить это конкретное предупреждение, либо добавить избыточное return там.

Лично я предпочитаю выполнять требования JSLint, а не отключать предупреждения. Просто убедитесь, что добавили //Satisfying JSlint комментарий рядом с return так что другие люди поймут избыточность.

Другие вопросы по тегам