By what logic js works (!+[]+[]+![]).length returns 9? How is that possible?
As I know js has dynamic types cast but very hard to understand whats going on here
console.log((!+[]+[]+![]).length);
First we have to understand !+[]+[]+![]:
!+[] = !0 = true
true+[] = "true"
![] = false
"true"+false = "truefalse"
so length of !+[]+[]+![] is length of "truefalse" so it's 9
No comments:
Post a Comment