(1)

JavaScript Tips 2015
ES6 リリース記念号

主に ECMAScript 6 と altJS の話

2015/06/06
2015/06/30 改訂
taskie

(2)

目次


(3)

このスライドについて


(4)

前提


(5)

ECMAScript 6


(6)

ECMAScript


(7)

歴史


(8)

ECMAScript 5


(9)

ECMAScript 5 の新機能


(10)

ECMAScript 6


(11)

ECMAScript 6 の新機能


(12)

対応状況


(13)

Babel


(14)

try it out

let x = 42;
{
    let x = 0;
}
let pow2 = x => x * x;
class Base {}
class Derived extends Base {}
let xs = [2, 3, 5];
for (let x of xs) console.log(x);

(15)

注意


(16)

ECMAScript 7


(17)

altJS


(18)

altJS


(19)

CoffeeScript

特徴 (–2013)


(20)

近況


(21)

利点(ES6 との比較)


(22)

利点(Babel との比較)


(23)

欠点


(24)

TypeScript

特徴 (–2013)


(25)

近況


(26)

利点


(27)

欠点


(28)

Haxe

特徴 (–2013)


(29)

近況


(30)

利点(TypeScript との比較)


(31)

欠点


(32)

Flow


(33)

React


(34)

React


(35)

ここを読みましょう


(36)

JSX


(37)

JSX を使った場合

var HelloMessage = React.createClass({
    render: function() {
        return <div>Hello {this.props.name}</div>;
    }
});

React.render(<HelloMessage name="John" />, mountNode);

(38)

JSX を使わない場合

var HelloMessage = React.createClass({
    render: function() {
        return React.createElement("div", null, "Hello ", this.props.name);
    }
});

React.render(React.createElement(HelloMessage, { name: "John" }), mountNode);

(39)

JSX 記法の利点

JSX 記法の欠点


(40)

React + ES6

class HelloMessage extends React.Component {
    render() {
        return <div>Hello {this.props.name}</div>;
    }
}

(41)

React + Bootstrap

<ButtonToolbar>
    <Button>Default</Button>
</ButtonToolbar>

(42)

まとめ


(43)

(その前に)気になるもの


(44)

ビルドについて


(45)

まとめ


(46)

END

We are hiring!
UNIPRO Inc.


ECMAScript 2015 Slideshows