В приведенном ниже коде я передаю элемент HMTL и проверяю, был ли переданный параметр пустым или не использовался тернарный оператор. Если это не null, я изменяю className переданного элемента.Проверка нулевого значения с помощью тройного оператора
var changeColorTo = {
grey: function(e){
e ? (e.className = "grey") : "" ;
},
red: function(e){
e ? (e.className = "red") : "" ;
},
green: function(e){
e ? (e.className = "green") : "" ;
},
blue: function(e){
e ? (e.className = "blue") : "" ;
}
};
Приведенный выше код работает отлично, за исключением, когда я прохожу любую случайную строку как
changeColorTo.grey("random");
Это не вызывает никакого вреда. Но мне интересно, правильно ли код? Мне что-то не хватает? или есть лучший способ добиться такого же результата?
спасибо.
Если вы хотите быть коротким и кратким, вы можете написать 'e && e.className && (e.className =" gray ");' без тройного. – david
Если «короче» означает меньше кода, тогда это не 43 символа против 32 в OP. И меньше кода само по себе не является серьезной причиной для чего-либо. – RobG