Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ECMAScript6で作る新言語XY

takesako
December 17, 2015

 ECMAScript6で作る新言語XY

ECMA-262 6th Edition – ECMAScript 2015 言語仕様(2015.06.17)
Arrow function (Coffee Script)
Class (大規模開発)
Module (import, export)
Block Scope (let, const)
Template Literal (複数行文字列リテラル)
Generator (function *, yield, next), Iterator (for of, Map)
Typed Array
Math.imul(0xffffffff, 3) // -3
Tail Call Optimization

takesako

December 17, 2015
Tweet

More Decks by takesako

Other Decks in Technology

Transcript

  1.  株式会社リクルートマーケティングパートナーズ 技術フェロー  高知工業高等専門学校 客員准教授  Shibuya.pmリーダー  SECCON実行委員長

     OWASP Japan Advisory board  SC 22/ECMAScript Ad Hoc エキスパート  連載:Software Design「Ajax/JavaScriptハッカー養成講座」  共著:スキル向上のためのHTML5テクニカルレビュー(W3C/Keio監修)  論文:「x86 JITコンパイラ上で任意のコードを実行する方法」 自己紹介:@takesako
  2. 単行本 完全日本語訳+解説 「ECMA-262 Edition 5.1を読む」 訳・編: 竹迫良範 出版社: 秀和システム ISBN-13:

    978-4798038926 発売日: 2013/9/25 ページ数: 416ページ 本体価格: 3,200円(税別) 突然の絶版 自己紹介:@takesako http://www.amazon.co.jp/dp/479803892X
  3. ゼクシィ縁結び → 女性も安心して参加  ゼクシィ利用者6000人に調査  幸せな結婚生活を送って いるカップルの特徴分析  18問の価値観診でマッチ

     紹介:4人/日、1480人/年  コンシェルジュがサポート  デート日程場所の調整代行  携帯電話は相手に伝わらない https://zexy-enmusubi.net/
  4. 新言語 XY を作ってみた! xX XX XX XX XX xy Xx

    XX XX XX XX XX XX XX XX xX xx XY xX XX XX XX XX XX XX XX xy Xx XX XX XX XX XX XX XX XX xX xx XY Xx XX xX XX XX XX XX XX XX XX XX XX xX xX XX XX XX XX XX XX XX XX XX XX xy Xx XX XX XX XX XX XX XX XX XX XX xX xx XY Xx xx xx xy xX xy xx XY Xx xy xx xX XX xX XX Xx Xx XY xX xX xy xx Xx Xx XX xX xX XY Xx xx xy xX xy xx XY Xx Xx xy xx xX xX XX xX XX Xx Xx Xx XY xX xX xX xy xx Xx Xx Xx XX xX xX xX XY Xx XX xy xX xX xy xx XY xX xy xx XY Xx Xx xy xX XX xX XX Xx Xx xx XY xX xX xy Xx Xx XX xX xX xx XY Xx xX xy xx XY XX Xx xy xX xx Xx xy xx XY XY xX xy xx Xx Xx Xx Xx xy xx xX xX XX xX xX XX Xx Xx Xx Xx XY xX xX xX xX xy xx Xx Xx Xx Xx XX xX xX xX xX XY Xx Xx XX xX xX XY Xx Xx xx Xx xx XY xX xX xy xx XY XX Xx xy xy xx XY xX xx Xx XY xX xy xx Xx xX xX xy xx XY XX Xx Xx Xx Xx xy xx XY XX xX xX xX XY Xx Xx Xx xx XY xX xX xX xX xX xy xx XY XX Xx xy xy xx XY xX xx Xx XY xX xy xx Xx Xx Xx Xx Xx Xx Xx Xx xY xX xX xX xy xx XY XX XX XX XX XX XX xy Xx Xx XX XX XX XX XX XX XX XX xX xX xx XY Xx Xx xY xX xX XX XX XX XX XX XX xy Xx Xx xx xx xx xx xx xx xx xx xX xX xx XY Xx Xx Xx Xx xY xX xX xX xX xX xX xX xX xX XY Xx Xx Xx Xx Xx Xx xx xX xX xy xx XY Xx Xx Xx xy xx xX xX XX xX XX Xx Xx Xx XY xX xX xX xy xx Xx Xx Xx XX xX xX xX XY Xx xX XX Xx xy xy xx XY xX xx Xx Xx Xx xx xX xX XY xX xy xx Xx Xx Xx XX XX XX XX XX XX XX XX XX Xx xx xX xX xX xX XY Xx Xx XY
  5. Arrow_function = (ES6) => {return ES6} let xy2bf=(t)=>t.replace(/(X[XY]¥s*)/ig,(x)=>{ switch(x.replace(/¥s/g,"")){ case"Xx":return"<";

    case"xX":return">"; case"XX":return"+"; case"xx":return"-"; case"xY":return"."; case"Xy":return","; case"xy":return"["; case"XY":return"]"; default :return""; } }) + "";
  6. Arrow_function = (ES6) => "return" + ES6 let bf =

    (t) => "var m=[];var o='';var p=0;" + t.replace(/(.)/g, (x) => { switch(x){ case"<":return"p&&p--;"; case">":return"p++;"; case"+":return"m[p]|=0;m[p]++;"; case"-":return"m[p]&&m[p]--;"; case".":return"o+=String.fromCharCode(m[p]);"; case",":return";"; case"[":return"m[p]|=0;while(m[p]){"; case"]":return"}"; default:return""; } }) + "return o;";
  7.  ECMA-262 6th Edition – ECMAScript 2015 言語仕様 (2015.06.17) 

    Arrow function (Coffee Script)  Class (大規模開発)  Module (import, export)  Block Scope (let, const)  Template Literal (複数行文字列リテラル)  Generator (function *, yield, next), Iterator (for of, Map)  Typed Array  Math.imul(0xffffffff, 3) // -3  Tail Call Optimization ECMAScript6 で使える新機能
  8. Template Literal で複数行文字が楽に書ける! let prime = ` xX XX XX

    XX XX xy Xx XX XX XX XX XX XX XX XX xX xx XY xX XX XX XX XX XX XX XX xy Xx XX XX XX XX XX XX XX XX xX xx XY Xx XX xX XX XX XX XX XX XX XX XX XX xX xX XX XX XX XX XX XX XX XX XX XX xy Xx XX XX XX XX XX XX XX XX XX XX xX xx XY Xx xx xx xy [...] `; 構造化プロ グラミング
  9. 新言語 XY って役に立つの?  愛の告白にぜひ  XX XX XX XX

    XX XX XX XX xy xX XX xX XX XX xX XX XX XX xX XX XX XX XX xX XX XX XX XX XX xX XX XX XX XX XX XX xX XX XX XX XX XX XX XX xX XX XX XX XX XX XX XX XX xX XX XX XX XX XX XX XX XX XX xX XX XX XX XX XX XX XX XX XX XX xX XX XX XX XX XX XX XX XX XX XX XX xX XX XX XX XX XX XX XX XX XX XX XX XX xX XX XX XX XX XX XX XX XX XX XX XX XX XX xX XX XX XX XX XX XX XX XX XX XX XX XX XX XX xX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX xX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx xx XY xX xX xX xX xX xX xX xX xX XX xY xx Xx Xx Xx Xx Xx Xx Xx Xx Xx xX xX xX xX xY Xx Xx Xx Xx xX xX xX xX xX xX xX xX xX xX xX xX xX xX xx xx xx xx xY XX XX XX XX Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx xX xX xX xX xX xX xX xX xX xX xX xX xX xX xx xY XX Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx xX xX xX xX xX xX xX xX xX xX xX xX xX xX xX xx xx xY XX XX Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx xX xX xX xX xX xX xX xX xX xX xX xX xX xx xx xx xY XX XX XX Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx xX xX xX xX xY Xx Xx Xx Xx xX xX xX xX xX xX xX xX xX xX xX xX xX xX xX XX xY xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx xX xX xX xX xX xX xX xX xX xX xX xX xX xX xx xY XX Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx xX xX xX xX xX xX xX xX xX xX xX xX xX xX xX xx xx xx xY XX XX XX Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx Xx xX xX xX xX XX xY xx Xx Xx Xx Xx xY