(É= [Å= []、μ=!Å+Å] [μ[È=-〜-〜++Å] +({} +Å)[Ç= !!Å+μ、ª=Ç[Å ] + [+!Å]、Å] +ª])()[μ[Å] +μ[Å+Å] +Ç[È] +ª](Å)
どのように機能しますか?
簡単にするために、
Å-> Int_1
É-> f_sort
È-> Int_3
µ-> B_false
ª-> Str_rt
Ç-> Str_truefalse
取得するもの:
(f_sort = [Int_1 = []、B_false =!Int_1 + Int_1] [B_false [Int_3 =-〜-〜++ Int_1] +({} + Int_1)[Str_truefalse = !! Int_1 + B_false、Str_rt = Str_truefalse [Int_1 ] + Str_truefalse [+!Int_1]、Int_1] + Str_rt])()[B_false [Int_1] + B_false [Int_1 + Int_1] + Str_truefalse [Int_3] + Str_rt](Int_1)
書式:
( f_sort = [ Int_1 = [ ] , B_false = ! Int_1 + Int_1 // B_false = ![]+[] = false ] // [[],false] [ B_false [ Int_3 = - ~ - ~ ++ Int_1 // ++Int_3 = 3 ([].toInt() -> 0, ++0 = 1, ~1 -> -2, --2 -> 2, ~2->-3, --3 = 3), Int_1 = 1 ] // 'false'[3] = 's' + ( { } + Int_1 ) // {} cast to string -> '[object Object]' + 1 -> '[object Object]1' [ Str_truefalse = !! Int_1 + B_false , // !!Int_1 -> true, Str_truefalse = true + false = 'truefalse' Str_rt = Str_truefalse [ Int_1 ] + Str_truefalse [ +! Int_1 ] , // Str_rt = 'truefalse'[1] + 'truefalse'[0] = 'rt' Int_1 // 1 ] //'[object Object]1'['truefalse', 'rt',1] -> 'o' ('[object Object]1'[1]) + Str_rt ] // [][ 's'+'o'+'rt'] -> [].sort ) ( ) // (f_sort = [].sort)() -> [].sort.call() -> window [ B_false [ Int_1 ] + // 'false'[1] -> 'a' B_false [ Int_1 + Int_1 ] + // 'false'[2] -> 'l' Str_truefalse [ Int_3 ] + // 'truefalse'[3] -> 'e' Str_rt // 'rt' ] // ['alert'] ( Int_1 ) // window['alert'](1)
( f_sort = [ Int_1 = [ ] , B_false = ! Int_1 + Int_1 // B_false = ![]+[] = false ] // [[],false] [ B_false [ Int_3 = - ~ - ~ ++ Int_1 // ++Int_3 = 3 ([].toInt() -> 0, ++0 = 1, ~1 -> -2, --2 -> 2, ~2->-3, --3 = 3), Int_1 = 1 ] // 'false'[3] = 's' + ( { } + Int_1 ) // {} cast to string -> '[object Object]' + 1 -> '[object Object]1' [ Str_truefalse = !! Int_1 + B_false , // !!Int_1 -> true, Str_truefalse = true + false = 'truefalse' Str_rt = Str_truefalse [ Int_1 ] + Str_truefalse [ +! Int_1 ] , // Str_rt = 'truefalse'[1] + 'truefalse'[0] = 'rt' Int_1 // 1 ] //'[object Object]1'['truefalse', 'rt',1] -> 'o' ('[object Object]1'[1]) + Str_rt ] // [][ 's'+'o'+'rt'] -> [].sort ) ( ) // (f_sort = [].sort)() -> [].sort.call() -> window [ B_false [ Int_1 ] + // 'false'[1] -> 'a' B_false [ Int_1 + Int_1 ] + // 'false'[2] -> 'l' Str_truefalse [ Int_3 ] + // 'truefalse'[3] -> 'e' Str_rt // 'rt' ] // ['alert'] ( Int_1 ) // window['alert'](1)
( f_sort = [ Int_1 = [ ] , B_false = ! Int_1 + Int_1 // B_false = ![]+[] = false ] // [[],false] [ B_false [ Int_3 = - ~ - ~ ++ Int_1 // ++Int_3 = 3 ([].toInt() -> 0, ++0 = 1, ~1 -> -2, --2 -> 2, ~2->-3, --3 = 3), Int_1 = 1 ] // 'false'[3] = 's' + ( { } + Int_1 ) // {} cast to string -> '[object Object]' + 1 -> '[object Object]1' [ Str_truefalse = !! Int_1 + B_false , // !!Int_1 -> true, Str_truefalse = true + false = 'truefalse' Str_rt = Str_truefalse [ Int_1 ] + Str_truefalse [ +! Int_1 ] , // Str_rt = 'truefalse'[1] + 'truefalse'[0] = 'rt' Int_1 // 1 ] //'[object Object]1'['truefalse', 'rt',1] -> 'o' ('[object Object]1'[1]) + Str_rt ] // [][ 's'+'o'+'rt'] -> [].sort ) ( ) // (f_sort = [].sort)() -> [].sort.call() -> window [ B_false [ Int_1 ] + // 'false'[1] -> 'a' B_false [ Int_1 + Int_1 ] + // 'false'[2] -> 'l' Str_truefalse [ Int_3 ] + // 'truefalse'[3] -> 'e' Str_rt // 'rt' ] // ['alert'] ( Int_1 ) // window['alert'](1)
( f_sort = [ Int_1 = [ ] , B_false = ! Int_1 + Int_1 // B_false = ![]+[] = false ] // [[],false] [ B_false [ Int_3 = - ~ - ~ ++ Int_1 // ++Int_3 = 3 ([].toInt() -> 0, ++0 = 1, ~1 -> -2, --2 -> 2, ~2->-3, --3 = 3), Int_1 = 1 ] // 'false'[3] = 's' + ( { } + Int_1 ) // {} cast to string -> '[object Object]' + 1 -> '[object Object]1' [ Str_truefalse = !! Int_1 + B_false , // !!Int_1 -> true, Str_truefalse = true + false = 'truefalse' Str_rt = Str_truefalse [ Int_1 ] + Str_truefalse [ +! Int_1 ] , // Str_rt = 'truefalse'[1] + 'truefalse'[0] = 'rt' Int_1 // 1 ] //'[object Object]1'['truefalse', 'rt',1] -> 'o' ('[object Object]1'[1]) + Str_rt ] // [][ 's'+'o'+'rt'] -> [].sort ) ( ) // (f_sort = [].sort)() -> [].sort.call() -> window [ B_false [ Int_1 ] + // 'false'[1] -> 'a' B_false [ Int_1 + Int_1 ] + // 'false'[2] -> 'l' Str_truefalse [ Int_3 ] + // 'truefalse'[3] -> 'e' Str_rt // 'rt' ] // ['alert'] ( Int_1 ) // window['alert'](1)
( f_sort = [ Int_1 = [ ] , B_false = ! Int_1 + Int_1 // B_false = ![]+[] = false ] // [[],false] [ B_false [ Int_3 = - ~ - ~ ++ Int_1 // ++Int_3 = 3 ([].toInt() -> 0, ++0 = 1, ~1 -> -2, --2 -> 2, ~2->-3, --3 = 3), Int_1 = 1 ] // 'false'[3] = 's' + ( { } + Int_1 ) // {} cast to string -> '[object Object]' + 1 -> '[object Object]1' [ Str_truefalse = !! Int_1 + B_false , // !!Int_1 -> true, Str_truefalse = true + false = 'truefalse' Str_rt = Str_truefalse [ Int_1 ] + Str_truefalse [ +! Int_1 ] , // Str_rt = 'truefalse'[1] + 'truefalse'[0] = 'rt' Int_1 // 1 ] //'[object Object]1'['truefalse', 'rt',1] -> 'o' ('[object Object]1'[1]) + Str_rt ] // [][ 's'+'o'+'rt'] -> [].sort ) ( ) // (f_sort = [].sort)() -> [].sort.call() -> window [ B_false [ Int_1 ] + // 'false'[1] -> 'a' B_false [ Int_1 + Int_1 ] + // 'false'[2] -> 'l' Str_truefalse [ Int_3 ] + // 'truefalse'[3] -> 'e' Str_rt // 'rt' ] // ['alert'] ( Int_1 ) // window['alert'](1)
( f_sort = [ Int_1 = [ ] , B_false = ! Int_1 + Int_1 // B_false = ![]+[] = false ] // [[],false] [ B_false [ Int_3 = - ~ - ~ ++ Int_1 // ++Int_3 = 3 ([].toInt() -> 0, ++0 = 1, ~1 -> -2, --2 -> 2, ~2->-3, --3 = 3), Int_1 = 1 ] // 'false'[3] = 's' + ( { } + Int_1 ) // {} cast to string -> '[object Object]' + 1 -> '[object Object]1' [ Str_truefalse = !! Int_1 + B_false , // !!Int_1 -> true, Str_truefalse = true + false = 'truefalse' Str_rt = Str_truefalse [ Int_1 ] + Str_truefalse [ +! Int_1 ] , // Str_rt = 'truefalse'[1] + 'truefalse'[0] = 'rt' Int_1 // 1 ] //'[object Object]1'['truefalse', 'rt',1] -> 'o' ('[object Object]1'[1]) + Str_rt ] // [][ 's'+'o'+'rt'] -> [].sort ) ( ) // (f_sort = [].sort)() -> [].sort.call() -> window [ B_false [ Int_1 ] + // 'false'[1] -> 'a' B_false [ Int_1 + Int_1 ] + // 'false'[2] -> 'l' Str_truefalse [ Int_3 ] + // 'truefalse'[3] -> 'e' Str_rt // 'rt' ] // ['alert'] ( Int_1 ) // window['alert'](1)
( f_sort = [ Int_1 = [ ] , B_false = ! Int_1 + Int_1 // B_false = ![]+[] = false ] // [[],false] [ B_false [ Int_3 = - ~ - ~ ++ Int_1 // ++Int_3 = 3 ([].toInt() -> 0, ++0 = 1, ~1 -> -2, --2 -> 2, ~2->-3, --3 = 3), Int_1 = 1 ] // 'false'[3] = 's' + ( { } + Int_1 ) // {} cast to string -> '[object Object]' + 1 -> '[object Object]1' [ Str_truefalse = !! Int_1 + B_false , // !!Int_1 -> true, Str_truefalse = true + false = 'truefalse' Str_rt = Str_truefalse [ Int_1 ] + Str_truefalse [ +! Int_1 ] , // Str_rt = 'truefalse'[1] + 'truefalse'[0] = 'rt' Int_1 // 1 ] //'[object Object]1'['truefalse', 'rt',1] -> 'o' ('[object Object]1'[1]) + Str_rt ] // [][ 's'+'o'+'rt'] -> [].sort ) ( ) // (f_sort = [].sort)() -> [].sort.call() -> window [ B_false [ Int_1 ] + // 'false'[1] -> 'a' B_false [ Int_1 + Int_1 ] + // 'false'[2] -> 'l' Str_truefalse [ Int_3 ] + // 'truefalse'[3] -> 'e' Str_rt // 'rt' ] // ['alert'] ( Int_1 ) // window['alert'](1)
( f_sort = [ Int_1 = [ ] , B_false = ! Int_1 + Int_1 // B_false = ![]+[] = false ] // [[],false] [ B_false [ Int_3 = - ~ - ~ ++ Int_1 // ++Int_3 = 3 ([].toInt() -> 0, ++0 = 1, ~1 -> -2, --2 -> 2, ~2->-3, --3 = 3), Int_1 = 1 ] // 'false'[3] = 's' + ( { } + Int_1 ) // {} cast to string -> '[object Object]' + 1 -> '[object Object]1' [ Str_truefalse = !! Int_1 + B_false , // !!Int_1 -> true, Str_truefalse = true + false = 'truefalse' Str_rt = Str_truefalse [ Int_1 ] + Str_truefalse [ +! Int_1 ] , // Str_rt = 'truefalse'[1] + 'truefalse'[0] = 'rt' Int_1 // 1 ] //'[object Object]1'['truefalse', 'rt',1] -> 'o' ('[object Object]1'[1]) + Str_rt ] // [][ 's'+'o'+'rt'] -> [].sort ) ( ) // (f_sort = [].sort)() -> [].sort.call() -> window [ B_false [ Int_1 ] + // 'false'[1] -> 'a' B_false [ Int_1 + Int_1 ] + // 'false'[2] -> 'l' Str_truefalse [ Int_3 ] + // 'truefalse'[3] -> 'e' Str_rt // 'rt' ] // ['alert'] ( Int_1 ) // window['alert'](1)
( f_sort = [ Int_1 = [ ] , B_false = ! Int_1 + Int_1 // B_false = ![]+[] = false ] // [[],false] [ B_false [ Int_3 = - ~ - ~ ++ Int_1 // ++Int_3 = 3 ([].toInt() -> 0, ++0 = 1, ~1 -> -2, --2 -> 2, ~2->-3, --3 = 3), Int_1 = 1 ] // 'false'[3] = 's' + ( { } + Int_1 ) // {} cast to string -> '[object Object]' + 1 -> '[object Object]1' [ Str_truefalse = !! Int_1 + B_false , // !!Int_1 -> true, Str_truefalse = true + false = 'truefalse' Str_rt = Str_truefalse [ Int_1 ] + Str_truefalse [ +! Int_1 ] , // Str_rt = 'truefalse'[1] + 'truefalse'[0] = 'rt' Int_1 // 1 ] //'[object Object]1'['truefalse', 'rt',1] -> 'o' ('[object Object]1'[1]) + Str_rt ] // [][ 's'+'o'+'rt'] -> [].sort ) ( ) // (f_sort = [].sort)() -> [].sort.call() -> window [ B_false [ Int_1 ] + // 'false'[1] -> 'a' B_false [ Int_1 + Int_1 ] + // 'false'[2] -> 'l' Str_truefalse [ Int_3 ] + // 'truefalse'[3] -> 'e' Str_rt // 'rt' ] // ['alert'] ( Int_1 ) // window['alert'](1)
( f_sort = [ Int_1 = [ ] , B_false = ! Int_1 + Int_1 // B_false = ![]+[] = false ] // [[],false] [ B_false [ Int_3 = - ~ - ~ ++ Int_1 // ++Int_3 = 3 ([].toInt() -> 0, ++0 = 1, ~1 -> -2, --2 -> 2, ~2->-3, --3 = 3), Int_1 = 1 ] // 'false'[3] = 's' + ( { } + Int_1 ) // {} cast to string -> '[object Object]' + 1 -> '[object Object]1' [ Str_truefalse = !! Int_1 + B_false , // !!Int_1 -> true, Str_truefalse = true + false = 'truefalse' Str_rt = Str_truefalse [ Int_1 ] + Str_truefalse [ +! Int_1 ] , // Str_rt = 'truefalse'[1] + 'truefalse'[0] = 'rt' Int_1 // 1 ] //'[object Object]1'['truefalse', 'rt',1] -> 'o' ('[object Object]1'[1]) + Str_rt ] // [][ 's'+'o'+'rt'] -> [].sort ) ( ) // (f_sort = [].sort)() -> [].sort.call() -> window [ B_false [ Int_1 ] + // 'false'[1] -> 'a' B_false [ Int_1 + Int_1 ] + // 'false'[2] -> 'l' Str_truefalse [ Int_3 ] + // 'truefalse'[3] -> 'e' Str_rt // 'rt' ] // ['alert'] ( Int_1 ) // window['alert'](1)
( f_sort = [ Int_1 = [ ] , B_false = ! Int_1 + Int_1 // B_false = ![]+[] = false ] // [[],false] [ B_false [ Int_3 = - ~ - ~ ++ Int_1 // ++Int_3 = 3 ([].toInt() -> 0, ++0 = 1, ~1 -> -2, --2 -> 2, ~2->-3, --3 = 3), Int_1 = 1 ] // 'false'[3] = 's' + ( { } + Int_1 ) // {} cast to string -> '[object Object]' + 1 -> '[object Object]1' [ Str_truefalse = !! Int_1 + B_false , // !!Int_1 -> true, Str_truefalse = true + false = 'truefalse' Str_rt = Str_truefalse [ Int_1 ] + Str_truefalse [ +! Int_1 ] , // Str_rt = 'truefalse'[1] + 'truefalse'[0] = 'rt' Int_1 // 1 ] //'[object Object]1'['truefalse', 'rt',1] -> 'o' ('[object Object]1'[1]) + Str_rt ] // [][ 's'+'o'+'rt'] -> [].sort ) ( ) // (f_sort = [].sort)() -> [].sort.call() -> window [ B_false [ Int_1 ] + // 'false'[1] -> 'a' B_false [ Int_1 + Int_1 ] + // 'false'[2] -> 'l' Str_truefalse [ Int_3 ] + // 'truefalse'[3] -> 'e' Str_rt // 'rt' ] // ['alert'] ( Int_1 ) // window['alert'](1)
( f_sort = [ Int_1 = [ ] , B_false = ! Int_1 + Int_1 // B_false = ![]+[] = false ] // [[],false] [ B_false [ Int_3 = - ~ - ~ ++ Int_1 // ++Int_3 = 3 ([].toInt() -> 0, ++0 = 1, ~1 -> -2, --2 -> 2, ~2->-3, --3 = 3), Int_1 = 1 ] // 'false'[3] = 's' + ( { } + Int_1 ) // {} cast to string -> '[object Object]' + 1 -> '[object Object]1' [ Str_truefalse = !! Int_1 + B_false , // !!Int_1 -> true, Str_truefalse = true + false = 'truefalse' Str_rt = Str_truefalse [ Int_1 ] + Str_truefalse [ +! Int_1 ] , // Str_rt = 'truefalse'[1] + 'truefalse'[0] = 'rt' Int_1 // 1 ] //'[object Object]1'['truefalse', 'rt',1] -> 'o' ('[object Object]1'[1]) + Str_rt ] // [][ 's'+'o'+'rt'] -> [].sort ) ( ) // (f_sort = [].sort)() -> [].sort.call() -> window [ B_false [ Int_1 ] + // 'false'[1] -> 'a' B_false [ Int_1 + Int_1 ] + // 'false'[2] -> 'l' Str_truefalse [ Int_3 ] + // 'truefalse'[3] -> 'e' Str_rt // 'rt' ] // ['alert'] ( Int_1 ) // window['alert'](1)
( f_sort = [ Int_1 = [ ] , B_false = ! Int_1 + Int_1 // B_false = ![]+[] = false ] // [[],false] [ B_false [ Int_3 = - ~ - ~ ++ Int_1 // ++Int_3 = 3 ([].toInt() -> 0, ++0 = 1, ~1 -> -2, --2 -> 2, ~2->-3, --3 = 3), Int_1 = 1 ] // 'false'[3] = 's' + ( { } + Int_1 ) // {} cast to string -> '[object Object]' + 1 -> '[object Object]1' [ Str_truefalse = !! Int_1 + B_false , // !!Int_1 -> true, Str_truefalse = true + false = 'truefalse' Str_rt = Str_truefalse [ Int_1 ] + Str_truefalse [ +! Int_1 ] , // Str_rt = 'truefalse'[1] + 'truefalse'[0] = 'rt' Int_1 // 1 ] //'[object Object]1'['truefalse', 'rt',1] -> 'o' ('[object Object]1'[1]) + Str_rt ] // [][ 's'+'o'+'rt'] -> [].sort ) ( ) // (f_sort = [].sort)() -> [].sort.call() -> window [ B_false [ Int_1 ] + // 'false'[1] -> 'a' B_false [ Int_1 + Int_1 ] + // 'false'[2] -> 'l' Str_truefalse [ Int_3 ] + // 'truefalse'[3] -> 'e' Str_rt // 'rt' ] // ['alert'] ( Int_1 ) // window['alert'](1)
( f_sort = [ Int_1 = [ ] , B_false = ! Int_1 + Int_1 // B_false = ![]+[] = false ] // [[],false] [ B_false [ Int_3 = - ~ - ~ ++ Int_1 // ++Int_3 = 3 ([].toInt() -> 0, ++0 = 1, ~1 -> -2, --2 -> 2, ~2->-3, --3 = 3), Int_1 = 1 ] // 'false'[3] = 's' + ( { } + Int_1 ) // {} cast to string -> '[object Object]' + 1 -> '[object Object]1' [ Str_truefalse = !! Int_1 + B_false , // !!Int_1 -> true, Str_truefalse = true + false = 'truefalse' Str_rt = Str_truefalse [ Int_1 ] + Str_truefalse [ +! Int_1 ] , // Str_rt = 'truefalse'[1] + 'truefalse'[0] = 'rt' Int_1 // 1 ] //'[object Object]1'['truefalse', 'rt',1] -> 'o' ('[object Object]1'[1]) + Str_rt ] // [][ 's'+'o'+'rt'] -> [].sort ) ( ) // (f_sort = [].sort)() -> [].sort.call() -> window [ B_false [ Int_1 ] + // 'false'[1] -> 'a' B_false [ Int_1 + Int_1 ] + // 'false'[2] -> 'l' Str_truefalse [ Int_3 ] + // 'truefalse'[3] -> 'e' Str_rt // 'rt' ] // ['alert'] ( Int_1 ) // window['alert'](1)
( f_sort = [ Int_1 = [ ] , B_false = ! Int_1 + Int_1 // B_false = ![]+[] = false ] // [[],false] [ B_false [ Int_3 = - ~ - ~ ++ Int_1 // ++Int_3 = 3 ([].toInt() -> 0, ++0 = 1, ~1 -> -2, --2 -> 2, ~2->-3, --3 = 3), Int_1 = 1 ] // 'false'[3] = 's' + ( { } + Int_1 ) // {} cast to string -> '[object Object]' + 1 -> '[object Object]1' [ Str_truefalse = !! Int_1 + B_false , // !!Int_1 -> true, Str_truefalse = true + false = 'truefalse' Str_rt = Str_truefalse [ Int_1 ] + Str_truefalse [ +! Int_1 ] , // Str_rt = 'truefalse'[1] + 'truefalse'[0] = 'rt' Int_1 // 1 ] //'[object Object]1'['truefalse', 'rt',1] -> 'o' ('[object Object]1'[1]) + Str_rt ] // [][ 's'+'o'+'rt'] -> [].sort ) ( ) // (f_sort = [].sort)() -> [].sort.call() -> window [ B_false [ Int_1 ] + // 'false'[1] -> 'a' B_false [ Int_1 + Int_1 ] + // 'false'[2] -> 'l' Str_truefalse [ Int_3 ] + // 'truefalse'[3] -> 'e' Str_rt // 'rt' ] // ['alert'] ( Int_1 ) // window['alert'](1)
( f_sort = [ Int_1 = [ ] , B_false = ! Int_1 + Int_1 // B_false = ![]+[] = false ] // [[],false] [ B_false [ Int_3 = - ~ - ~ ++ Int_1 // ++Int_3 = 3 ([].toInt() -> 0, ++0 = 1, ~1 -> -2, --2 -> 2, ~2->-3, --3 = 3), Int_1 = 1 ] // 'false'[3] = 's' + ( { } + Int_1 ) // {} cast to string -> '[object Object]' + 1 -> '[object Object]1' [ Str_truefalse = !! Int_1 + B_false , // !!Int_1 -> true, Str_truefalse = true + false = 'truefalse' Str_rt = Str_truefalse [ Int_1 ] + Str_truefalse [ +! Int_1 ] , // Str_rt = 'truefalse'[1] + 'truefalse'[0] = 'rt' Int_1 // 1 ] //'[object Object]1'['truefalse', 'rt',1] -> 'o' ('[object Object]1'[1]) + Str_rt ] // [][ 's'+'o'+'rt'] -> [].sort ) ( ) // (f_sort = [].sort)() -> [].sort.call() -> window [ B_false [ Int_1 ] + // 'false'[1] -> 'a' B_false [ Int_1 + Int_1 ] + // 'false'[2] -> 'l' Str_truefalse [ Int_3 ] + // 'truefalse'[3] -> 'e' Str_rt // 'rt' ] // ['alert'] ( Int_1 ) // window['alert'](1)
( f_sort = [ Int_1 = [ ] , B_false = ! Int_1 + Int_1 // B_false = ![]+[] = false ] // [[],false] [ B_false [ Int_3 = - ~ - ~ ++ Int_1 // ++Int_3 = 3 ([].toInt() -> 0, ++0 = 1, ~1 -> -2, --2 -> 2, ~2->-3, --3 = 3), Int_1 = 1 ] // 'false'[3] = 's' + ( { } + Int_1 ) // {} cast to string -> '[object Object]' + 1 -> '[object Object]1' [ Str_truefalse = !! Int_1 + B_false , // !!Int_1 -> true, Str_truefalse = true + false = 'truefalse' Str_rt = Str_truefalse [ Int_1 ] + Str_truefalse [ +! Int_1 ] , // Str_rt = 'truefalse'[1] + 'truefalse'[0] = 'rt' Int_1 // 1 ] //'[object Object]1'['truefalse', 'rt',1] -> 'o' ('[object Object]1'[1]) + Str_rt ] // [][ 's'+'o'+'rt'] -> [].sort ) ( ) // (f_sort = [].sort)() -> [].sort.call() -> window [ B_false [ Int_1 ] + // 'false'[1] -> 'a' B_false [ Int_1 + Int_1 ] + // 'false'[2] -> 'l' Str_truefalse [ Int_3 ] + // 'truefalse'[3] -> 'e' Str_rt // 'rt' ] // ['alert'] ( Int_1 ) // window['alert'](1)
( f_sort = [ Int_1 = [ ] , B_false = ! Int_1 + Int_1 // B_false = ![]+[] = false ] // [[],false] [ B_false [ Int_3 = - ~ - ~ ++ Int_1 // ++Int_3 = 3 ([].toInt() -> 0, ++0 = 1, ~1 -> -2, --2 -> 2, ~2->-3, --3 = 3), Int_1 = 1 ] // 'false'[3] = 's' + ( { } + Int_1 ) // {} cast to string -> '[object Object]' + 1 -> '[object Object]1' [ Str_truefalse = !! Int_1 + B_false , // !!Int_1 -> true, Str_truefalse = true + false = 'truefalse' Str_rt = Str_truefalse [ Int_1 ] + Str_truefalse [ +! Int_1 ] , // Str_rt = 'truefalse'[1] + 'truefalse'[0] = 'rt' Int_1 // 1 ] //'[object Object]1'['truefalse', 'rt',1] -> 'o' ('[object Object]1'[1]) + Str_rt ] // [][ 's'+'o'+'rt'] -> [].sort ) ( ) // (f_sort = [].sort)() -> [].sort.call() -> window [ B_false [ Int_1 ] + // 'false'[1] -> 'a' B_false [ Int_1 + Int_1 ] + // 'false'[2] -> 'l' Str_truefalse [ Int_3 ] + // 'truefalse'[3] -> 'e' Str_rt // 'rt' ] // ['alert'] ( Int_1 ) // window['alert'](1)
( f_sort = [ Int_1 = [ ] , B_false = ! Int_1 + Int_1 // B_false = ![]+[] = false ] // [[],false] [ B_false [ Int_3 = - ~ - ~ ++ Int_1 // ++Int_3 = 3 ([].toInt() -> 0, ++0 = 1, ~1 -> -2, --2 -> 2, ~2->-3, --3 = 3), Int_1 = 1 ] // 'false'[3] = 's' + ( { } + Int_1 ) // {} cast to string -> '[object Object]' + 1 -> '[object Object]1' [ Str_truefalse = !! Int_1 + B_false , // !!Int_1 -> true, Str_truefalse = true + false = 'truefalse' Str_rt = Str_truefalse [ Int_1 ] + Str_truefalse [ +! Int_1 ] , // Str_rt = 'truefalse'[1] + 'truefalse'[0] = 'rt' Int_1 // 1 ] //'[object Object]1'['truefalse', 'rt',1] -> 'o' ('[object Object]1'[1]) + Str_rt ] // [][ 's'+'o'+'rt'] -> [].sort ) ( ) // (f_sort = [].sort)() -> [].sort.call() -> window [ B_false [ Int_1 ] + // 'false'[1] -> 'a' B_false [ Int_1 + Int_1 ] + // 'false'[2] -> 'l' Str_truefalse [ Int_3 ] + // 'truefalse'[3] -> 'e' Str_rt // 'rt' ] // ['alert'] ( Int_1 ) // window['alert'](1)
( f_sort = [ Int_1 = [ ] , B_false = ! Int_1 + Int_1 // B_false = ![]+[] = false ] // [[],false] [ B_false [ Int_3 = - ~ - ~ ++ Int_1 // ++Int_3 = 3 ([].toInt() -> 0, ++0 = 1, ~1 -> -2, --2 -> 2, ~2->-3, --3 = 3), Int_1 = 1 ] // 'false'[3] = 's' + ( { } + Int_1 ) // {} cast to string -> '[object Object]' + 1 -> '[object Object]1' [ Str_truefalse = !! Int_1 + B_false , // !!Int_1 -> true, Str_truefalse = true + false = 'truefalse' Str_rt = Str_truefalse [ Int_1 ] + Str_truefalse [ +! Int_1 ] , // Str_rt = 'truefalse'[1] + 'truefalse'[0] = 'rt' Int_1 // 1 ] //'[object Object]1'['truefalse', 'rt',1] -> 'o' ('[object Object]1'[1]) + Str_rt ] // [][ 's'+'o'+'rt'] -> [].sort ) ( ) // (f_sort = [].sort)() -> [].sort.call() -> window [ B_false [ Int_1 ] + // 'false'[1] -> 'a' B_false [ Int_1 + Int_1 ] + // 'false'[2] -> 'l' Str_truefalse [ Int_3 ] + // 'truefalse'[3] -> 'e' Str_rt // 'rt' ] // ['alert'] ( Int_1 ) // window['alert'](1)
( f_sort = [ Int_1 = [ ] , B_false = ! Int_1 + Int_1 // B_false = ![]+[] = false ] // [[],false] [ B_false [ Int_3 = - ~ - ~ ++ Int_1 // ++Int_3 = 3 ([].toInt() -> 0, ++0 = 1, ~1 -> -2, --2 -> 2, ~2->-3, --3 = 3), Int_1 = 1 ] // 'false'[3] = 's' + ( { } + Int_1 ) // {} cast to string -> '[object Object]' + 1 -> '[object Object]1' [ Str_truefalse = !! Int_1 + B_false , // !!Int_1 -> true, Str_truefalse = true + false = 'truefalse' Str_rt = Str_truefalse [ Int_1 ] + Str_truefalse [ +! Int_1 ] , // Str_rt = 'truefalse'[1] + 'truefalse'[0] = 'rt' Int_1 // 1 ] //'[object Object]1'['truefalse', 'rt',1] -> 'o' ('[object Object]1'[1]) + Str_rt ] // [][ 's'+'o'+'rt'] -> [].sort ) ( ) // (f_sort = [].sort)() -> [].sort.call() -> window [ B_false [ Int_1 ] + // 'false'[1] -> 'a' B_false [ Int_1 + Int_1 ] + // 'false'[2] -> 'l' Str_truefalse [ Int_3 ] + // 'truefalse'[3] -> 'e' Str_rt // 'rt' ] // ['alert'] ( Int_1 ) // window['alert'](1)
( f_sort = [ Int_1 = [ ] , B_false = ! Int_1 + Int_1 // B_false = ![]+[] = false ] // [[],false] [ B_false [ Int_3 = - ~ - ~ ++ Int_1 // ++Int_3 = 3 ([].toInt() -> 0, ++0 = 1, ~1 -> -2, --2 -> 2, ~2->-3, --3 = 3), Int_1 = 1 ] // 'false'[3] = 's' + ( { } + Int_1 ) // {} cast to string -> '[object Object]' + 1 -> '[object Object]1' [ Str_truefalse = !! Int_1 + B_false , // !!Int_1 -> true, Str_truefalse = true + false = 'truefalse' Str_rt = Str_truefalse [ Int_1 ] + Str_truefalse [ +! Int_1 ] , // Str_rt = 'truefalse'[1] + 'truefalse'[0] = 'rt' Int_1 // 1 ] //'[object Object]1'['truefalse', 'rt',1] -> 'o' ('[object Object]1'[1]) + Str_rt ] // [][ 's'+'o'+'rt'] -> [].sort ) ( ) // (f_sort = [].sort)() -> [].sort.call() -> window [ B_false [ Int_1 ] + // 'false'[1] -> 'a' B_false [ Int_1 + Int_1 ] + // 'false'[2] -> 'l' Str_truefalse [ Int_3 ] + // 'truefalse'[3] -> 'e' Str_rt // 'rt' ] // ['alert'] ( Int_1 ) // window['alert'](1)
( f_sort = [ Int_1 = [ ] , B_false = ! Int_1 + Int_1 // B_false = ![]+[] = false ] // [[],false] [ B_false [ Int_3 = - ~ - ~ ++ Int_1 // ++Int_3 = 3 ([].toInt() -> 0, ++0 = 1, ~1 -> -2, --2 -> 2, ~2->-3, --3 = 3), Int_1 = 1 ] // 'false'[3] = 's' + ( { } + Int_1 ) // {} cast to string -> '[object Object]' + 1 -> '[object Object]1' [ Str_truefalse = !! Int_1 + B_false , // !!Int_1 -> true, Str_truefalse = true + false = 'truefalse' Str_rt = Str_truefalse [ Int_1 ] + Str_truefalse [ +! Int_1 ] , // Str_rt = 'truefalse'[1] + 'truefalse'[0] = 'rt' Int_1 // 1 ] //'[object Object]1'['truefalse', 'rt',1] -> 'o' ('[object Object]1'[1]) + Str_rt ] // [][ 's'+'o'+'rt'] -> [].sort ) ( ) // (f_sort = [].sort)() -> [].sort.call() -> window [ B_false [ Int_1 ] + // 'false'[1] -> 'a' B_false [ Int_1 + Int_1 ] + // 'false'[2] -> 'l' Str_truefalse [ Int_3 ] + // 'truefalse'[3] -> 'e' Str_rt // 'rt' ] // ['alert'] ( Int_1 ) // window['alert'](1)
( f_sort = [ Int_1 = [ ] , B_false = ! Int_1 + Int_1 // B_false = ![]+[] = false ] // [[],false] [ B_false [ Int_3 = - ~ - ~ ++ Int_1 // ++Int_3 = 3 ([].toInt() -> 0, ++0 = 1, ~1 -> -2, --2 -> 2, ~2->-3, --3 = 3), Int_1 = 1 ] // 'false'[3] = 's' + ( { } + Int_1 ) // {} cast to string -> '[object Object]' + 1 -> '[object Object]1' [ Str_truefalse = !! Int_1 + B_false , // !!Int_1 -> true, Str_truefalse = true + false = 'truefalse' Str_rt = Str_truefalse [ Int_1 ] + Str_truefalse [ +! Int_1 ] , // Str_rt = 'truefalse'[1] + 'truefalse'[0] = 'rt' Int_1 // 1 ] //'[object Object]1'['truefalse', 'rt',1] -> 'o' ('[object Object]1'[1]) + Str_rt ] // [][ 's'+'o'+'rt'] -> [].sort ) ( ) // (f_sort = [].sort)() -> [].sort.call() -> window [ B_false [ Int_1 ] + // 'false'[1] -> 'a' B_false [ Int_1 + Int_1 ] + // 'false'[2] -> 'l' Str_truefalse [ Int_3 ] + // 'truefalse'[3] -> 'e' Str_rt // 'rt' ] // ['alert'] ( Int_1 ) // window['alert'](1)
( f_sort = [ Int_1 = [ ] , B_false = ! Int_1 + Int_1 // B_false = ![]+[] = false ] // [[],false] [ B_false [ Int_3 = - ~ - ~ ++ Int_1 // ++Int_3 = 3 ([].toInt() -> 0, ++0 = 1, ~1 -> -2, --2 -> 2, ~2->-3, --3 = 3), Int_1 = 1 ] // 'false'[3] = 's' + ( { } + Int_1 ) // {} cast to string -> '[object Object]' + 1 -> '[object Object]1' [ Str_truefalse = !! Int_1 + B_false , // !!Int_1 -> true, Str_truefalse = true + false = 'truefalse' Str_rt = Str_truefalse [ Int_1 ] + Str_truefalse [ +! Int_1 ] , // Str_rt = 'truefalse'[1] + 'truefalse'[0] = 'rt' Int_1 // 1 ] //'[object Object]1'['truefalse', 'rt',1] -> 'o' ('[object Object]1'[1]) + Str_rt ] // [][ 's'+'o'+'rt'] -> [].sort ) ( ) // (f_sort = [].sort)() -> [].sort.call() -> window [ B_false [ Int_1 ] + // 'false'[1] -> 'a' B_false [ Int_1 + Int_1 ] + // 'false'[2] -> 'l' Str_truefalse [ Int_3 ] + // 'truefalse'[3] -> 'e' Str_rt // 'rt' ] // ['alert'] ( Int_1 ) // window['alert'](1)
すべてがシンプルで明確です。