DEV Community

Discussion on: How would you refactor this JS function?

Collapse
 
pengeszikra profile image
Peter Vivo

I like ternary operator in arrow function, even multiple ternary. So I use this tabulation for clear reading. Work even lineChecker() , lineChecker([42],1) use cases too.

const lineChecker = (line, isHeader) => !line
  ? line === "" 
    ? "<br />"
    : ""
  :  isHeader
    ? `<h1>${line}</h1>` 
    : `<p>${line}</p>`
;
Enter fullscreen mode Exit fullscreen mode
Collapse
 
pengeszikra profile image
Peter Vivo

Additional test cases, figure out without try it.

lineChecker([])
lineChecker(+[])
lineChecker(Infinity)
Enter fullscreen mode Exit fullscreen mode