Изменения

ECMAScript и все-все-все

281 байт добавлено, 11:49, 9 февраля 2017
м
Destructuring @@
* PHP 7 = 6.7s
* Ruby 2.3 = 14.3s, Python 3.5 = 17s, 2.7 = 20s
* Perl = 24s {{gray|(у меня 25.6s)}}
* '''PHP 5.6 = 42.5s''' :))))) {{mag|ахаха, прекрати}}
set style fill solid 1.0 noborder
set boxwidth 0.7 relative
plot 'lang.dat' using 2:1:(0.0):2:(($1)-(binwidth/2.0)):(($1)+(binwidth/2.0)) with boxxyerrorbars title 'x = Быстрее PHP 5.6 в x раз'
DATASET lang
1.0 49.9
set style fill solid 1.0 noborder
set boxwidth 0.7 relative
plot 'lang.dat' using 2:1:(0.0):2:(($1)-(binwidth/2.0)):(($1)+(binwidth/2.0)) with boxxyerrorbars title 'x = Быстрее PHP 5.6 в x раз'
DATASET lang
1.0 50.95
[[File:asmjs-bench.png|600px]]
=== Производительность — Производительность — итого @@ ===
* Итого, V8 — V8 — «смешанный» JIT* В Firefox — Firefox — [https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Internals/Tracing_JIT тоже всё шустро]
* Чакра Наделлы тоже очень похожа на V8
* Постоянная битва :) https://arewefastyet.com/
<source lang="javascript">
var obj = { key: 'abc', value: [ 1, 2 ] };
var { key: k, value: [ a, b ], other: o = 3 } = obj; // 3 - значение по умолчанию
// можно в параметрах функции!
* requirejs — система загрузки и сборки AMD модулей
* [http://jshint.com/ jshint] — проверка на ошибки и стиль
* yui-compressor, closure compiler — compiler — обфускаторы* [http://rollupjs.org/ rollup]  — система сборки для ES6 модулей (используется реже)
=== IDE, редакторы, отладка @@ ===
* React: {{blue|ПРОСТО ИСПОЛЬЗУЙТЕ JS :)}} (обычный for или Array.map())
<blockquote>Angular 2 continues to put “JS” «JS» into HTML. React puts “HTML” «HTML» into JS.</blockquote>
==== JSX @@ ====
* componentWillUpdate(p, s), componentDidUpdate(p, s)
* propTypes, mixins, statics
 
==== А вот почему это красиво @@ ====
 
ExtJS. Класс «панель». {{red|Где тут делать инициализацию?}}
 
[[File:Extjs-events.png|400px]]
 
{{red|beforerender? render? afterrender? afterlayout? added? add? show?}} {{gray|спойлер: нигде}}
==== Библиотеки для React @@ ====