DEV Community

Discussion on: 5 ways to refactor if/else statements in JS functions

Collapse
 
dankimhaejun profile image
Dankimhaejun • Edited

let nestedIfElseHell = (str) => {
if (typeof str == "string"){
if (str.length > 1) {
return str.slice(0,-1)
} else {
return null
}
} else {
return null
}
}


why don't you use like this?

let nestedIfElseHell = (str) => {
if (typeof str === "string && str.length >1) {
return str.slice(0,-1);
}

return null;
}

or
let nestedIfElseHell = (str) => {
if (isStringAndHasLength(str)) {
return str.slice(0,-1)
}

return null;
}

let isStringAndHasLength = (str) => typeof str === "string" && str.length > 1

Collapse
 
sylwiavargas profile image
Sylwia Vargas

Definitely! I like that you are using the typical for OOP callbacks to do the if/else job! Thanks!