SyntaxError: Unexpected token }ã¨ã¯ä½ã
Google Chromeã®ã³ã³ã½ã¼ã«ã§, ï½¢(ï½£ã¨æã£ã¦Enterãã¦ã¿ã¾ããã.
> (
SyntaxError: Unexpected token }
ãã£...? å } ãªãã¦æã£ã¦ãªãã... ã¯ã±ãããããªãã...
ããããå®é¨ãã¦ã¿ã¾ããã.
> ( SyntaxError: Unexpected token } > - SyntaxError: Unexpected token } > + SyntaxError: Unexpected token } > ++ SyntaxError: Unexpected token }
ã©ãã } ãå ¥åãã¦ãªãã®ã«...

éç¼! JavaScript âè¨èªä»æ§ããå¦ã¶JavaScriptã®æ¬è³ª
- ä½è : Cody Lindley,åç°ç¥ä¸é
- åºç社/ã¡ã¼ã«ã¼: ãªã©ã¤ãªã¼ã¸ã£ãã³
- çºå£²æ¥: 2013/06/19
- ã¡ãã£ã¢: åè¡æ¬ï¼ã½ããã«ãã¼ï¼
- ãã®ååãå«ãããã°ãè¦ã
ã¨ãã訳ã§, stackoverflowã«æãã¦ã¿ã¾ãã.
Why Google Chrome console throws âSyntaxError: Unexpected token }â when inputted (.
ããã¨ç´ æ´ããã! è¦äºã«è§£æ±ºãã¦ãã¾ãã¾ãã!
chromium/src/third_party/WebKit/Source/WebCore/inspector/InjectedScriptSource.jsã®_evaluateOn颿°ã®280è¡ç®ãéµ.
expression = "with ((window && window.console && window.console._commandLineAPI) || {}) {\n" + expression + "\n}";
ãªãã»ã©, withã«æ¾ãè¾¼ã¾ããã®ãã...
ã¨ãããã¨ã¯, with statementãæåã£ããéãããã¨ãã§ãã¾ãã! éãã§ã¿ã¾ããã!
> }{ undefined
ã»ãã»ã...ãã¼ã¹ã¨ã©ã¼ãã§ãªã...
> } 'hoge ' + { "hoge [object Object]"
ããã¯
with ((window && window.console && window.console._commandLineAPI) || {}) { } 'hoge ' + { }
ã«å¤æããã¦, +ã®å¾ã® { ã¨, å é¨ã§ä»ãè¶³ããã } ãä¸ç·ã«ãªã£ã¦ {} ã«ãªã£ã¡ãã£ã.
Objectãããããä½ã£ã¦ã¿ãã.
> } +{ valueOf: function () { return 531; } 531 > } '' + { toString: function () { return 'ããã£ã»'; } "ããã£ã»"
åçãã¦ä¸ãã£ã人ã®, ãã®ä¾ã¯è©ä¾¡ããã.
> }!{ false > }!!{ true
Labelãä»ããBlockã«ãã¦, ãããã¡ããã¨æããã.
> i = 10} labelA: { while (--i) { console.log(i); if (i < 8) break labelA; } 9 8 7 undefined
颿°ã®æå¾ã® } ã¨ãã¦ã使ãã.
> } f = function () { return 100; function () { return 100; }
ã¡ããã¨æ¹è¡ããã¦ã...
...ã¨ãã訳ã§, ã¿ã¤ãã«ã«å¯¾ããçãã¯,
ï½¢å ¥åãå é¨ã®å¦çã§å²ã£ã¦ããWith statementã®æå¾ã® } ã§ãã.ï½£ã¨ãããã¨ã«ãªãã¾ãã.
Firefoxã§ãåããããªç¾è±¡ãèµ·ããã¾ãã.
è¿½è¨ (2017/04/01)
ãã®æåã¯ããã§ã«åç¾ããªããªã£ã¦ãã¾ãããé¢ç½ãã£ãã®ã«ãæ®å¿µâ¦