Programing Elegance vs Simplicity
here's 3 styles of coding. which is the best?
console.log( typeof undefined === "undefined" ); console.log( typeof "abc" === "string" ); console.log( typeof true === "boolean" ); console.log( typeof false === "boolean" ); console.log( typeof 3 === "number" ); console.log( typeof NaN === "number" ); console.log( typeof Infinity === "number" ); console.log( typeof {} === "object" ); console.log( typeof [3,4] === "object" ); console.log( typeof (new Date()) === "object" ); console.log( typeof /x/ === "object" ); console.log( typeof JSON === "object" ); console.log( typeof Math === "object" ); // all true
console.log( typeof undefined === "undefined" && typeof "abc" === "string" && typeof true === "boolean" && typeof false === "boolean" && typeof 3 === "number" && typeof NaN === "number" && typeof Infinity === "number" && typeof {} === "object" && typeof [3,4] === "object" && typeof (new Date()) === "object" && typeof /x/ === "object" && typeof JSON === "object" && typeof Math === "object" ); // all true
console.log ( [ [undefined , "undefined" ], ["abc" , "string" ], [true , "boolean" ], [false , "boolean" ], [3 , "number" ], [NaN , "number" ], [Infinity , "number" ], [{} , "object" ], [[3,4] , "object" ], [(new Date()) , "object" ], [/x/ , "object" ], [JSON , "object" ], [Math , "object"] ] . every ( ((x) => typeof x[0] === x[1] ) ) ); // true
back in 90s, i'd absolutely strive for last. Today, actually, i think the first is best. It's is the most simple, clear, easy to understand.