arrays - No semicolon before [] is causing error in Javascript? -
var = [1,2,3,4]; var b = [10,20,30,40]; console.log([a,b].length) [a,b].some(function(x){ x.push(x.shift()) });
i extremely surprised today when code caused
[a,b].some(function(x){ x.push(x.shift()) }); ^ typeerror: cannot call method 'some' of undefined
obviously javascript 'auto semicolon insertion' not working expected here. why?
i know might recommend use ;
everywhere avoid that, question not whether better use ;
or not. love know happens here?
when i'm worried semicolon insertion, think lines in question without whitespace between them. in case, be:
console.log([a,b].length)[a,b].some(function(x){ etc });
here you're telling javascript engine call console.log
length of [a,b]
, @ index [a,b]
of result of call.
console.log
returns string, code attempt find property b
of string, undefined, , call undefined.some()
fails.
it's interesting note str[a,b]
resolve str[b]
assuming str string. kamil points out, a,b
valid javascript expression, , result of expression b
.
Comments
Post a Comment