Является ли я ошибочным явным образом проверять логическое значение true. Было бы лучше сделать простой if(success)
?
Я видел разные анекдоты о том, как if (someBoolean === true)
- ужасный код на строго типизированном языке, но он также считается плохим на слабо типизированных языках?
Это применимо для любого слабо типизированного языка, который делает принуждение типа в выражении if.
Конкретный пример:
var onSuccess = function (JSONfromServer) {
// explicitly check for the boolean value `true`
if (JSONfromServer === true) {
// do some things
}
}
// pass it to an ajax as a callback
doSomeAjax(onSuccess);
[изменить]
В этом конкретном случае переменная успеха - это любой действительный JSON, возвращаемый с сервера. Так может быть и все. если его булевская истина, то успех произошел. Если это некоторый объект обработки ошибок, тогда он будет обработан. Если это что-то еще, то, вероятно, это будет спокойно обрабатываться.
Вопрос заключался в том, чтобы вернуть серверу true
как JSON и проверить хороший способ обработки случая, когда действие преуспело.
Я хотел бы избежать специфики JavaScript и AJAX.