JavaScript ã CoffeeScript ãã§çµæãå¤ããããã°ã©ã
使ãæçç¡ãªãã ãã©ããã®ããã°ã©ã 㯠JavaScript ã 㨠"JavaScript" ã¨è©ä¾¡ãã㦠CoffeeScript ã 㨠"CoffeeScript" ã¨è©ä¾¡ãããã
{ JavaScript: ["CoffeeScript"] }["JavaScript"][0]
æ¤è¨¼ç¨ã³ã¼ã
code = '{ JavaScript: ["CoffeeScript"] }["JavaScript"][0]'; // "CoffeeScript" ã¨è©ä¾¡ããã eval(CoffeeScript.compile(code, {bare:true})); // "JavaScript" ã¨è©ä¾¡ããã eval(code);
ãããã¦ãã¾ãã¨ã観å¯è å¹æã§ã©ã¡ãã§ã "CoffeeScript" ã¨è©ä¾¡ããã¦ãã¾ãã
a = { JavaScript: ["CoffeeScript"] }["JavaScript"][0]
"JavaScript"ã¨è©ä¾¡ãããä»çµã¿
JavaScript ã® {
ã«ã¯ãªãã¸ã§ã¯ããªãã©ã«ã®éå§ã¨ãããã¯ã®éå§ãé¢æ°ã®æ¬ä½é¨åã®éå§ã¨ãã3ã¤ã®å½¹å²ããããã
ç´°ãããã¨ã¯ ECMA262 ã«æ¸ãã¦ãããã©ãéã«èª¬æããã¨ãããã¯åºç¾ä½ç½®ã§æ±ºå®ããã¦ãæé ã® {
ã¯ãããã¯ã¨è§£éããããa ã«ä»£å
¥ããã±ã¼ã¹ã ã¨æé ã§ã¯ãªãå¼ã®å
é ã«ãªãã®ã§ãªãã¸ã§ã¯ããªãã©ã«ã¨ãã¦è§£éãããã
ä¸è¨ã®ã³ã¼ãã Esprima ã§ãã¼ã¹ããã¨ããã®ããã«ãªãã
Esprima: Parser - {JavaScript:["CoffeeScript"]}["JavaScript"][0]
ããããæã㧠Block 㨠ExpressionStatement ã¨ãã¦è§£éãããã
{ // ããã㯠JavaScript: // ã©ãã« ['CoffeeScript']; // é å } ['JavaScript'][0]; // é å[0]
"CoffeeScript"ã¨è©ä¾¡ãããä»çµã¿
CoffeeScript ã® {
ã«ã¯ãªãã¸ã§ã¯ããªãã©ã«ã¨ãã¦ã®å½¹å²ãããªãã®ã§ããªãã¸ã§ã¯ããªãã©ã«ã¨ãã¦è§£éãããããã®éãå
ã®JavaScriptã®ä»æ§ãåé¿ãããã ( ) ã§å²ãã§ãããã
({ JavaScript: ["CoffeeScript"] })["JavaScript"][0];