7. Bad
var userResponse = getResponseIfAny(); // Could be false, true or null
if (userResponse != false) {
console.log(“User says yes”)
} else {
console.log(“User says no”)
}
// This does not cover null
8. Bad
var userResponse = getResponseIfAny(); // Could be false, true or null
if (userResponse == true) {
console.log(“User says yes”)
} else if (userResponse != null) {
console.log(“User says no”) // This won’t never get printed
} else {
console.log(“User did not give a response”)
}
9. Bad
var userResponse = getResponseIfAny(); // Could be false, true or null
if (userResponse === null) {
console.log(“User did not give a response”)
} else if (userResponse == true) { // Works but is not good enough
console.log(“User says yes”)
} else {
console.log(“User says no”)
}
10. Good
var userResponse = getResponseIfAny(); // Could be false, true or null
if (userResponse === null) {
console.log(“User did not give a response”)
} else if (userResponse) { // Awesome!
console.log(“User says yes”)
} else {
console.log(“User says no”)
}
11. Bad
var userResponse = getResponse(); // Could be false or true
if (userResponse == true) {
console.log(“User says yes”)
} else {
console.log(“User says no”)
}
// This does work but is shity javascript
12. Good
var userResponse = getResponse(); // Could be false or true
if (userResponse) {
console.log(“User says yes”)
} else {
console.log(“User says no”)
}
// Cool javascript
14. Debugging
Use the console
It will almost always be right
Use the debugger from the browser
Chromium tools will always be your friend
Pay attention to exclamation signs and colors