class _Main { static function main(args : string[]) :void { log "Hello, JSX!"; } }
JSX is a statically-typed, object-oriented programming language designed to run on modern web browsers. Being developed at DeNA as a research project, the language has following characteristics. faster JSX performs optimization while compiling the source code to JavaScript. The generated code runs faster than an equivalent code written directly in JavaScript. The gain may vary, but even the optimi
5æ1 zlib.js ã® Inflate å®è£ ã JSX-lang ã«ç§»æ¤ãã¾ãã ã¯ããã« JSX éãã¨ãã話ãèããã®ã§ãzlib.js ãç§»æ¤ãããã©ããªãã®ãèå³ããã£ãã®ã§è©¦ãã¾ããã https://github.com/imaya/zlib.jsx ãè©«ã³ JSXããªãªã¼ã¹ãããç´å¾ã«å°ã触ã£ã¦ã¿ãã®ã§ãããæåæã®ãã¼ã¸ã§ã³ã§ã¯ç´ ã®JSã¨ã®é£æºãåãã«ããã£ãã®ã§ãèªåã®ç¨éã«ã¯å°ããããããªããªã¨æ¬é æ°å³ã§ããã ãã®èªèã¯æè¿ã¾ã§ç¶ãã¦ããã®ã§ãããç¾å¨ã¯ export ãªã©ãåºæ¥ãããã«ãªã£ã¦ããã®ã§ã©ã¤ãã©ãªãªãããç°¡åã«ä½ããããã«ãªã£ã¦ã¾ãã ï¼ããããå®è£ ãããã®ã¯ 2013-04-30 ã«ãªãªã¼ã¹ããã v0.9.27 ï¼ï¼ ä½åº¦ã飲ã¿ä¼ãªã©ã§ãç´ ã®JSã¨ã®é£æºãåãã«ãããããªã¼ãã¨ãè¨ã£ã¦ãã¾ã£ã¦èª¤è§£ãä¸ãã¦ãã¾ã£ãã®ãããã§ãè©«ã³ãã¾ãã (exp
æè¡ãæ´»ãããæ°ãã価å¤ãåµé ãã DeNAã®ã¨ã³ã¸ãã¢ã¯ãæ³åãè¶ ããDelightãå±ããããã«ä½ãã§ããããèããæè¡åã¨çºæ³åã§æ°ãã価å¤ãçã¿åºãã¦ãã¾ãã 夿§ãªå°éæ§ãæã£ãã¨ã³ã¸ãã¢ãåç£ç¢ç£¨ããäºãã«åºæ¿ãåããç°å¢ãå¶åº¦ããããªãæé·ã¸ã¨ã¤ãªãã¾ãã
â»ãã®è¨äºã¯ãJSX Advent Calendar 2013ã®ä¸é¨ã§ãã JSX Advent Calendarã¯æè¡ç³»ã®ãã¿ãå¤ãã§ãããã¡ãã£ã¨æè¡ã®è©±ããé¢ãã¦ãJSXãå°æ¥çã«ä½ãç®æããã¨ãã¦ããã®ãã«ã¤ãã¦èªã£ã¦ã¿ããã¨æãã¾ãã ãªããç§ã¯JSXèªä½ã®éçºã«ã¯ç©æ¥µçã«é¢ä¸ãã¦ãããããã®è¨äºã®å 容ã«ã¤ãã¦JSXéçºé£ã¨ã®åæãåã£ããã®ã§ã¯ããã¾ãããããã¯ããã¾ã§ãå人ã®åæãªäºæ³ã»æãè¾¼ã¿ã«ããè¨è¿°ã§ããã¨ãããã¨ã念ã®ããã«å¼·èª¿ãã¦ããã¾ãã ãã©ã¦ã¶ãJavaScriptã¯ããè¿å¹´å¤§å¤æ³¨ç®ããã¦ãããçéã§ã¯ããã«ã¾ã¤ããæè¡ã夿°ç»å ´ãã¦ãã¾ããasm.jsãPNaClãWebGLãGWTãªã©ãªã©ããã¡ããJSXããã®ä¸ç°ã¨ãã¦èæ ®ããã¦ãã¾ããããã¨ããã®ãããã©ã¦ã¶ãå ¥ã£ã¦ããªããã½ã³ã³ã¯ã»ã¼ãªãããããã©ã¦ã¶ãå½ããåã«æµ¸éãããã¨ã¨ããã©ã¦ã¶ã®ä¸ã§åãå¯ä¸
ãã®ã¨ã³ããªã¯ãJSX Advent Calendar 2013ã®18æ¥ç®ã§ãã socket.ioã®1.0ãåºãã¨è¨ããã¦ãåºãªãã¾ã¾æ©ä¸å¹´åçµã¡ã¾ãããæ©ãã§ããã ã¾ãã§ãsocket.ioã¯Node.jsã®ã ã¼ãã¡ã³ããèµ·ãããã¢ã¸ã¥ã¼ã«ã®ä¸ã¤ã§ãããã¨ã«çãã¯ãªãã socket.ioãJSXãã使ãããã¨ãããã¼ãºãããããå¼ç¤¾ããä¸ããé ã§ã¯ãªããã¨æããsocket.io.jsxãä½ãã¾ããã socket.io.jsx https://npmjs.org/package/socket.io.jsx https://github.com/yosuke-furukawa/socket.io.jsx ä½¿ãæ¹ ä½ã¯ã¨ããã npmã®ã¤ã³ã¹ãã¼ã«ããã $ npm init $ npm install socket.io socket.io.jsx --saveãã¨ã¯ããããªæãã§
2013-12-15 ã¨ããããã°ã©ãã³ã°è¨èªå¦çç³»ã®ã»ã«ããã¹ãã£ã³ã°åã«æºãã£ã (ãã®è¨äºã¯JSX Advent Calendar 2013ã®ä¸é¨ã¨ãã¦æ¸ããã¾ããã) åãJSXã¨ããããã°ã©ãã³ã°è¨èªã®éçºã«æºãã£ã¦ãã®å¬ã§æ©1å¹´åã«ãªãã¾ããã³ã³ãã¤ã©ã¨ãã¦ã®jsxã«ã¯ãã®1å¹´åã§å¹¾å¤ã®åºæ¥äºãããã¾ãããããã®ä¸ã§ãä¸çªå·¨å¤§ãªãã®ãã»ã«ããã¹ãã£ã³ã°ã§ããããã¤ã¾ãJSXã®ã³ã³ãã¤ã©ãJSXèªèº«ã§æ¸ããªããã¨ãããã¨ã§ãã ã¡ã¤ã³ã©ã¤ã³ã®ã³ã¼ããã¾ãã¾ãå ¥ãæ¿ãããã®ã»ã«ããã¹ãã£ã³ã°ã¯å¤§ããªè¦å´ãä¼´ãã¾ãããå®éãé常ã®ãã¼ãã£ã³ã°ã¨ã¯éãã³ã³ãã¤ã©ãã®ãã®ãå ¥ãæ¿ãã¦ãã¾ãããã§ãããããã°ã®åºæ¹ãªã©ããªããªãå³ããæ·±ããã®ã§ãã JSXã»ã«ããã¹ãã£ã³ã°ãè¡ã£ã¦ããæ¢ã«1å¹´ãçµéãããã¨ãã¦ãã¾ããä»ã¾ã§ãã®ä½æ¥ã®è¦å´ã«ã¤ãã¦å¤ã§è©±ãããã¨ã¯ç¡ãã£ãã®ã§ããããããã°ã©
â»ãã®è¨äºã¯ãJSX Advent Calendar 2013ã®ä¸é¨ã§ãã JSXã¯åä»ãè¨èªãªã®ã§ãJavaScriptã§ç°¡åã«æ¸ããå 容ãè¤éã«ãªã£ã¦ãã¾ããã¨ãããã¾ããCanvaså¨ãã§ã¯ç¹ã«ãã®å¾åãå¼·ãã®ã§ãããã§ã¯JSXã§Canvasãæ±ãæ¸ãæ¹ãç°¡åã«ãç´¹ä»ãã¾ãã ã¾ãCanvasã®ä½æã§ããCanvasã®åã¯HTMLCanvasElementã¨ãªãã¾ãã var canvas = dom.document.createElement("canvas") as HTMLCanvasElement; JSXã«ã¯ã°ãã¼ãã«å¤æ°ã¯åå¨ãã¾ãããJavaScriptã®ã°ãã¼ãã«å¤æ°ï¼æ£ç¢ºã«ã¯ã°ãã¼ãã«ãªãã¸ã§ã¯ãã®ããããã£ï¼documentã«ã¢ã¯ã»ã¹ããããã«ã¯ãJSXã§ã¯domã®ããããã£ã¨ãã¦ã¢ã¯ã»ã¹ãã¾ããdom.window.documentã¨ã¢ã¯ã»ã¹ãã¦ãåãã§ãã
JavaScript ã§é«éãªã³ã¼ããæ¸ããã¨ããéã«ãã¯ã¾ããã¡ãªç½ ã¨ãJSX ã®ã³ã³ãã¤ã©ã§ã©ã®ããã«å¯¾å¦ãã¦ããã®ããç´¹ä»
JSX v0.9.62 ããè¤æ°è¡æåå*1ããµãã¼ãããã¾ãããæ§æã¯Pythonã©ã¤ã¯ãª """..."""ã§ããã¾ãã'''...''' ãåãã§ãã class _Main { static function main(args : string[]) : void { log """ Hello, world! """; // => "\n Hello, world!\n " } } è¤æ°è¡æååã¯éçºå½åããè°è«ã¯ããã¦ãããã®ã®ãå¤ç¨ããã¨ã¡ã³ããã³ã¹æ§ãèããè½ã¨ããã®ã¨ãã¦ä¿çã«ãªã£ã¦ããã®ã§ãããããããè°è«ãè½ã¡çããã¨ããã¨ããã§ããPerlãªã©ã®heredocæ§æã§ã¯ãªãPythonã©ã¤ã¯ãªtriple quotedã«ãªã£ãã®ã¯ãheredocæ§æã¯ã¨ãã£ã¿ã«ããsyntax highlightãé£ãããã¨ã¨æ«å°¾ã®\nãå¼·å¶ããããã¨ããtriple quoted
2013-08-29 ç¶ã»JSXã§ããã¯ã¿ã¤ãã³ã°(åæ¶å»)ãåºæ¥ãããã«ãªã£ã話 å æ¥JSXã§ããã¯ã¿ã¤ãã³ã°(åæ¶å»)ãåºæ¥ãããã«ãªã£ã話ã¨ããã¨ã³ããªãæ¸ããã®ã ããã©ããã«ã¤ãã¦Twitterã§è³ªåãåããã®ã§ããã§æ¹ãã¦è©³ç´°ã«è§£èª¬ãããã¨ã«ããã ããã¯ã¿ã¤ãã³ã°ã¨ã¯ä½ã "If it walks like a duck and quacks like a duck, it must be a duck" ï¼ããããããã¢ãã«ã®ããã«æ©ããã¢ãã«ã®ããã«é³´ãã®ãªããããã¯ã¢ãã«ã§ããï¼ ãããããããã¯ã¿ã¤ãã³ã°ã¨ã¯ãä½ããWikipediaã«ããã° ãªãã¸ã§ã¯ããããã¤ã³ã¿ãã§ã¼ã¹ã®ãã¹ã¦ã®ã¡ã½ãããæã£ã¦ãããªãã°ããã¨ããã®ã¯ã©ã¹ããã®ã¤ã³ã¿ãã§ã¼ã¹ã宣è¨çã«å®è£ ãã¦ããªãã¨ãããªãã¸ã§ã¯ãã¯ãã®ã¤ã³ã¿ãã§ã¼ã¹ãå®è¡æã«å®è£ ãã¦ããã¨ã¿ãªãããã¨ãããã¨ã§ããã ãããã
Persuasion Engineering - Training handout اÙ٠ادة Ø§ÙØªØ¯Ø±ÙØ¨ÙØ© ÙØ¯Ùرة ÙÙØ¯Ø³Ø© Ø§ÙØ¥ÙÙØ§Ø¹
(εã»âã»)з o O ( JSXã¯æ¥æ¬èªããã¥ã¡ã³ããã»ã¼ãªãã®ã§ã (εã»âã»)з o O ( æ¸ãæºãã¨ãã奴ãå ¬éãããã¼ (εã»âã»)з o O ( ã§ããè²ã ã¨ç«¯æã£ã¦ãã®ã§ (εã»âã»)з o O ( ä¸è¶³ãã¦ãé¨åã¯ãããã³ãæ¥è¨ ã wiki ã JSXå ¬å¼ããã¥ã¡ã³ã ãåããã¦ã覧ãã ããã (εã»âã»)з o O ( ææ°ã® JSX ãã¿ãåããã¦ãç´¹ä» http://d.hatena.ne.jp/gfx/20130726/1374890217
ãã³ãã¬ã¼ã颿°ãã¦ã¼ã¶ã¼å®ç¾©ã§ããããã« (0.9.58) array/mapãªãã©ã«ã®ã±ãã«ã³ãã許å¯(0.9.58) string + number ã許å¯ããã ããã®ä»ã®ãªãã¸ã§ã¯ãã¯ä¾ç¶ã¨ãã¦æç¤ºçãªå¤æãå¿ è¦ (0.9.58) optimizerãå¤§å¹ ã«å¼·å(0.9.54~58) String.fromCharCode(1, 2, 3) ã "a".charCodeAt(0) ãªã©ãã³ã³ãã¤ã«æã«å®æ°ã«ãªã inlineåã§è¤éãªå¼ã§ãå±éã§ããã±ã¼ã¹ãå¢ãã `jsx --test a.jsx` ã§_Testããªãã¦ãã¨ã©ã¼ã«ããªã(0.9.53) åãªãsyntax checkã¨ãã¦ã使ããããã«ãªã£ã 忍è«ã§ããç®æãããããå¢ãã(0.9.49, 0.9.58) `jsx --enable-source-map --run a.jsx` ã§ä¾å¤æã«JSXã½ã¼ã¹ã®ãã¡ã¤
JavaScript ã¤ãã£ãªã é ã JSX ã§ãã£ã¦ã¿ã¾ãããjsx --testã§å®è¡ã§ãã¾ãã ç·ãã¦è¦ãã¨ãå¤ã®å¤æã¯ãx as string|number|intãã§ã§ããååç´ã«ãªã£ã¦ããã»ããå ¨ä½çã«åç´ã«ãªã£ã¦ãã¦è¦ããã¹ãã¤ãã£ãªã ã¯å°ãªããªã£ã¦ãã¾ããã¾ãã~array.indexOf(item)ã®ãããªé«éåã®ããã®ã¤ãã£ãªã ã¯ä¸è¦ã§ã*1ã ãã®ããããä»ã® AltJS ã§ã©ããªã®ããç¥ãããã§ããã import "test-case.jsx"; import "js.jsx"; class _Test extends TestCase { // æ°å¤å function testNumify() : void { var v = "123"; this.expect(v as number + 100).toBe(223); // Math.parseFloa
â»â» 2013-06-30 追è¨ï¼add-search-pathã®ãªãã·ã§ã³ãã¼ã¯add_search_pathã«å¤æ´ãã¾ããã æè¿ JSXãä»äºã§ä½¿ããã¨ããã£ã¦ããã£ã¨jsxã便å©ã«ä½¿ãããã¨æã£ã¦grunt-jsxãä½ãã¾ããã ã§ããã㨠gruntããjsxãã³ã³ãã¤ã«ãã¦jsãçæãããã¨ããã ãã®ã·ãã¢ãã§ãããgruntã®ã¨ã³ã·ã¹ãã ã«ä¹ããã¨ã§jsxãã¡ã¤ã«ã®å¤æ´ãwatchãã¦å¤æ´ããã度ã«jsãã¡ã¤ã«ãçæããçãé常ã«ä¾¿å©ã«ãªãã¾ãã äºåæºå JSXã³ãã³ãã使ãã®ã§äºåã«jsxãinstallãã¦ä¸ããã $ npm install jsx -ggruntãå©ç¨ããã®ã§ã¤ã³ã¹ãã¼ã«ãã¾ãããã $ npm install grunt-cli -gé©å½ãªãã©ã«ãã使ããgruntã使ç¨ããæºåããã¾ãã $ mkdir test-jsx $ cd test-j
ãªããéããã®ããã«ã¤ã㦠JSX éçºè ã®ç«å ´ããã ãã¨ãã°ãã·ã¥ã¼ãã£ã³ã°ã²ã¼ã ã§ä¸çªéããå¦çã¯ä½ããè¨ãã¾ã§ããªãè¡çªå¤å®ã夿°ã®å¼¾ãæµæ©ã®è¡çªå¤å®ãæ¯ãã¬ã¼ã ãã¨ã«è¡ãå¿ è¦ãããããã®æ¼ç®ãéããã JSX ã«å梱ããã¦ãã web/example/shooting.jsx ã«ã¯è¡çªå¤å®ã®ã³ã¼ããè¤æ°ããããä¸çªéããã®ã¯ Bullet#update 颿°ã§ããã®å¦çã¯ä»¥ä¸ã®ããã«ãªã£ã¦ãã*1ã for (var rockKey in st.rocks) { var rock = st.rocks[rockKey]; if (this.detectCollision(rock)) { if (rock.hp == 0) return false; inDisplay = false; if (--rock.hp == 0) { st.score = Math.min(st.s
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}