Какой код более оптимальный? 
		
		
		
		Всем привет! 
	Я только начал изучать JS и пока практикуюсь, решая не сложные задачи. Сегодня решал задачу, по условиям которой пользователю предлагается ввести слово. А результатом должен быть вывод на экран фразы, зависящей от количества символов в слове. Решил ее двумя способами. Подскажите какой вариант более оптимален или правильный и почему. Первый вариант: function letterCount (myString) { if (myString.length < 10){ var result = "Вы ввели меньше 10 символов"; } else if (myString.length > 10){ var result = "Вы ввели больше 10 символов"; } else { var result = "Вы ввели 10 символов"; } return result; } var userWord = prompt('Введите любое слово'); document.write(letterCount(userWord)); Второй вариант: function letterCount () { var userWord = prompt('Введите любое слово'); return userWord.length; } var res = letterCount(); if (res > 10){ document.write("Вы ввели больше 10 символов"); } else if(res < 10){ document.write("Вы ввели меньше 10 символов"); } else { document.write("Вы 10 символов"); }  | 
	
		
 
var userWord = prompt('Введите любое слово');
var wordLength = userWord.length;
var message = "Вы ввели_ 10 символов";
var cmp = wordLength > 10 ? ' больше' : wordLength < 10 ? ' меньше' : '';
alert(message.replace('_', cmp));
 | 
	
		
 Цитата: 
	
 
alert("Вы ввели_ 10 символов".replace('_', (prompt('Введите любое слово').length > 10) ? ' больше' : ' меньше' ));
 | 
	
		
 Извращенцы.  
	На деле, в такой мелочи - не принципиально. А как часть чего-то большего - любой из предложенных вариантов неправилен, т.к. и за ввод и за вывод отвечать должны будут отдельные системы.)  | 
	
		
 у автора я бы выбрал второй вариант тк в первом jslint выдаст многократное объявление var как "некомильфо" 
	 | 
	
		
 Цитата: 
	
 
function letterCount (myString) {
	if (myString.length < 10) return 'Вы ввели меньше 10 символов';
	else if (myString.length > 10) return 'Вы ввели больше 10 символов';
	else return 'Вы ввели 10 символов';
}
var userWord = prompt('Введите любое слово');
alert(letterCount(userWord));
 | 
	
		
 Цитата: 
	
  | 
	
		
 
function letterCount (myString) {
 var result = [],
 decTst = parseInt(myString.length/10)?1:0,
 ostTst = (myString.length-10>0)?1:0;
 result[0] = "Вы ввели меньше 10 символов";
 result[2] = "Вы ввели больше 10 символов";
 result[1] = "Вы ввели 10 символов";
 return result[decTst+ostTst];
 }
 var userWord = prompt('Введите любое слово');
 alert(letterCount(userWord));
 | 
	
		
 Deff, тогда уж так: 
	
function letterCount (string) {
    var diff = string.length - 10,
        sign = diff / Math.abs(diff),
        message = {
            "-1": "Вы ввели меньше 10 символов",
             "0": "Вы ввели 10 символов",
             "1": "Вы ввели больше 10 символов"
        }[sign];
        return message;
}
var userWord = prompt('Введите любое слово');
alert(letterCount(userWord));
Вместо объекта с ключами -1, 0 и 1 можно также использовать массив, но тогда выбирать значение по ключу sign + 1.  | 
	
		
 Как часть чего-то большего такой код приемлем? 
	
function game() {
var friend = prompt("Какой друг пришел?");
var myFriend = friend.toLowerCase();
	if(myFriend == "саша" || myFriend == "паша"){
		document.write("Идем играть в бильярд");
	}
	else {
		document.write("Идем играть в тенис");
	}
}
game();
 | 
| Часовой пояс GMT +3, время: 15:27. |