Movatterモバイル変換


[0]ホーム

URL:


Shogo Sensui, profile picture
Uploaded byShogo Sensui
PDF, PPTX4,313 views

これからのJavaScriptの話

2015年9月29日に行われた第60回HTML5とか勉強会の「これからのJavaScriptの話 そしてES7へ・・・」のセッションの資料です。

Embed presentation

Download as PDF, PPTX
これからのJavaScriptの話そしてES7へ・・・第60回 HTML5とか勉強会 by 1000ch
1000ch
ProfileCyberAgent, Inc.Software EngineerHTMLもといWeb技術全般iOS + Mac
ECMAScriptとJavaScript
JavaScript爆誕1995年 Brendan Eich氏が開発Netscape Navigatorに搭載この前生誕20周年を迎えた
Brendan EichJavaが流行ってるからJavaScriptにしよう
ECMAScript乱立するJS実装の統一に向けてECMAのTC39というチームで策定ECMA-262という文書で管理
ECMAScriptActionScriptJScriptJavaScript
昨今のJavaScript…
Node.jsの台頭サーバーサイドプログラムとしてフロントエンドのビルド環境としてJS経験者が取っ付き易く動作も高速
Webのリッチ化ブラウザで出来ること増えすぎ必然的にJSでやることが増える
_人人人人人人人人人人人人_> JavaScriptフィーバー < ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
Webアプリの高度化や実行環境の多岐化に伴い更なる進化を求められている
ES5
ES5 ES6 ES7
ES5 ES6 ES72009年12月策定
ES5ECMAScript 5th edition2011年6月にアップデートで5.1に“use strict”やArray.prototypeの拡張
ES2015
ES5 ES6 ES72009年12月策定
ES5 ES6 ES72015年6月策定2009年12月策定
ES2015ECMAScript 6th edition2009年以来の大型アップデート長らく望まれてきた機能追加
ES2015Syntax
let + const{let string = 'Lorem Ipsum';}console.log(string);// => string is not definedconst PI = 3.14;PI = 3.1415;// => PI has already been declared
classclass Cat {constructor(name) {this.name = name;}meow() {console.log('meow');}}new Cat('1000ch').meow();// => meow
Arrow Functionlet double = function(number) {return number * 2;};double = (number) => {return number * 2;};double = number => number * 2;
Default Parametersconst process = (params = {}) => {console.log(params);};process({ edition: 6 });// => { edition: 6 }process();// => {}
Array Rest + Spreadconst process = (...params) => {console.log(params);};process(1);// => [1]process(1, 2, 3);// => [1, 2, 3]
let array = [100, 1000, 1000];let spread = [1, 10, ...array];console.log(spread);// [1, 10, 100, 1000, 1000]
import + export// export.jsexport const PI = 3.14;export let foo = 'bar';export default class Baz {constructor() {// ...}};// import.jsimport Baz, { PI, foo } from './export';
Destructionconst ARRAY = [1, 10, 100];let [one, ten] = ARRAY;console.log(one, ten);// => 1, 10const OBJECT = { foo: 1, bar: 10, baz: 100 };let {foo, baz} = OBJECT;console.log(foo, baz);// => 1, 100
Template Stringslet width = 3;let height = 4;let message = `area is ${width * height}`;console.log(message);// => area is 12
ES2015Globals
Promisefetch('...').then(function (response) {return response.json();}).then(function (json) {console.log(json);}).catch(function (error) {console.log(error);});
Proxy + Reflectlet proxied = new Proxy({}, {get: function(target, name) {return Reflect.get(target, name);},set: function(target, name, value, receiver) {console.log(`${name} setter is called`);Reflect.set(target, name, value, receiver);}});proxied.foo = 100;// => foo setter is calledconsole.log(proxied.foo);// => 100
Set + WeakSetlet array = [];let object = [];let set = new Set();set.add('string value');set.add(object);console.log(set.has(array));// => falseconsole.log(set.has(object));// => true
Map + WeakMaplet array = [];let object = [];let map = new Map();map.set(array, 'value for array');map.set(object, 'value for object');console.log(map.get(array));// => value for arrayconsole.log(map.get(object));// => value for object
Symbolslet key1 = Symbol('foo');let object = {};object[key] = 'value for key1';console.log(object['foo']);// => undefinedconsole.log(object[key1]);// => value for key1console.log(Object.keys(object));// => []
ES2016
ES5 ES6 ES72015年6月策定2009年12月策定
ES5 ES6 ES72015年6月策定2009年12月策定2016年策定?
ECMAScript 7th editionES2016Highly Experimental !!!
ES2016Proposals
Exponentiationlet squared = 2 ** 2;// same as: 2 * 2let cubed = 2 ** 3;// same as: 2 * 2 * 2let a = 2;a **= 2;// same as: a = a * a;let b = 3;b **= 3;// same as: b = b * b * b;
SIMD (Stagevar s1 = SIMD.Float32x4(1, 2, 3, 4);var s2 = SIMD.Float32x4(1, 2, 3, 4);var s3 = SIMD.Float32x4(2, 4, 6, 8);console.log(s1 === s2);// => trueconsole.log(SIMD.Float32x4.add(s1, s2) === s3);// => true
Async Functions (Stage 2fetch('...').then(function (response) {return response.json();}).then(function (json) {console.log(json);}).catch(function (error) {console.log(error);});try {let response = await fetch('...');let json = await response.json();console.log(json);} catch (error) {console.log(error);}
Object Rest + Spread (Stage 2let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 };x; // 1y; // 2z; // { a: 3, b: 4 }let n = { x, y, ...z };n; // { x: 1, y: 2, a: 3, b: 4 }
Decorators (Stage 1function enumerable(value) {return function (target, key, descriptor) {descriptor.enumerable = value;return descriptor;}}class Foo {@enumerable(false)bar() { }@enumerable(true)baz() { }}
Compatibility…
ECMAScript Compatibility Table
WebKit Web Platform StatusECMAScript 6 support in MozillaChrome Platform StatusMicrosoft Edge Platform status
Babel
Traceur Compiler
おわり+ +ShogoSensui"#1000ch1000ch

Recommended

PDF
ノンプログラマーでも明日から使えるJavaScript簡単プログラム 先生:柳井 政和
PDF
JavaScriptCore.framework の普通な使い方 #cocoa_kansai
PDF
ng-japan 2015 TypeScript+AngularJS 1.3
PDF
モダンJavaScript環境構築一歩目
PPTX
モテる JavaScript
PDF
JavaScriptユーティリティライブラリの紹介
PDF
JavaScriptことはじめ
PDF
覚醒!JavaScript
PDF
jQuery Performance Tips – jQueryにおける高速化 -
PDF
WebGL and Three.js
KEY
iOSプログラマへ。HTML5 Canvasがおもしろい!
PPT
20130924 Picomon CRH勉強会
PDF
ECMAScript6による関数型プログラミング
PDF
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
PDF
Three.jsで3D気分
PDF
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
PDF
これからのJavaScriptー関数型プログラミングとECMAScript6
PDF
大規模Node.jsを支える ロードバランスとオートスケールの独自実装
PDF
javascript を Xcode でテスト
PDF
覚醒JavaScript -ES6で作るIsomophicアプリケーション-
PDF
TypeScript 1.0 オーバービュー
PDF
GoCon 2015 Summer GoのASTをいじくって新しいツールを作る
PDF
コンピューティングとJava~なにわTECH道
PDF
Backbone.js
KEY
JJUG CCC 2012 Real World Groovy/Grails
PDF
メディア芸術基礎 II jQuery入門
PDF
JavaScript入門-基礎編
 
PDF
Javascriptのあれやこれやをまとめて説明してみる
PPTX
Getting started with ES6 : Future of javascript
PPTX
Startup JavaScript

More Related Content

PDF
ノンプログラマーでも明日から使えるJavaScript簡単プログラム 先生:柳井 政和
PDF
JavaScriptCore.framework の普通な使い方 #cocoa_kansai
PDF
ng-japan 2015 TypeScript+AngularJS 1.3
PDF
モダンJavaScript環境構築一歩目
PPTX
モテる JavaScript
PDF
JavaScriptユーティリティライブラリの紹介
PDF
JavaScriptことはじめ
PDF
覚醒!JavaScript
ノンプログラマーでも明日から使えるJavaScript簡単プログラム 先生:柳井 政和
JavaScriptCore.framework の普通な使い方 #cocoa_kansai
ng-japan 2015 TypeScript+AngularJS 1.3
モダンJavaScript環境構築一歩目
モテる JavaScript
JavaScriptユーティリティライブラリの紹介
JavaScriptことはじめ
覚醒!JavaScript

What's hot

PDF
jQuery Performance Tips – jQueryにおける高速化 -
PDF
WebGL and Three.js
KEY
iOSプログラマへ。HTML5 Canvasがおもしろい!
PPT
20130924 Picomon CRH勉強会
PDF
ECMAScript6による関数型プログラミング
PDF
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
PDF
Three.jsで3D気分
PDF
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
PDF
これからのJavaScriptー関数型プログラミングとECMAScript6
PDF
大規模Node.jsを支える ロードバランスとオートスケールの独自実装
PDF
javascript を Xcode でテスト
PDF
覚醒JavaScript -ES6で作るIsomophicアプリケーション-
PDF
TypeScript 1.0 オーバービュー
PDF
GoCon 2015 Summer GoのASTをいじくって新しいツールを作る
PDF
コンピューティングとJava~なにわTECH道
PDF
Backbone.js
KEY
JJUG CCC 2012 Real World Groovy/Grails
PDF
メディア芸術基礎 II jQuery入門
PDF
JavaScript入門-基礎編
 
PDF
Javascriptのあれやこれやをまとめて説明してみる
jQuery Performance Tips – jQueryにおける高速化 -
WebGL and Three.js
iOSプログラマへ。HTML5 Canvasがおもしろい!
20130924 Picomon CRH勉強会
ECMAScript6による関数型プログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Three.jsで3D気分
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
これからのJavaScriptー関数型プログラミングとECMAScript6
大規模Node.jsを支える ロードバランスとオートスケールの独自実装
javascript を Xcode でテスト
覚醒JavaScript -ES6で作るIsomophicアプリケーション-
TypeScript 1.0 オーバービュー
GoCon 2015 Summer GoのASTをいじくって新しいツールを作る
コンピューティングとJava~なにわTECH道
Backbone.js
JJUG CCC 2012 Real World Groovy/Grails
メディア芸術基礎 II jQuery入門
JavaScript入門-基礎編
 
Javascriptのあれやこれやをまとめて説明してみる

Viewers also liked

PPTX
Getting started with ES6 : Future of javascript
PPTX
Startup JavaScript
PDF
はじめてのWallaby.js
PDF
Prototypeベース in JavaScript
PPTX
ES6 - JavaCro 2016
PDF
JavaScript 実践講座 Framework, Tool, Performance
PDF
JavaScript.Next Returns
PPTX
Nds meetup8 lt
PDF
ECMAScript 6 Features(PDF 版)
 
PDF
jQuery勉強会#4
PDF
ES6 はじめました
PDF
アニメーションの実装つらい話
PDF
kontainer-js
PDF
150421 es6とかな話
PDF
Hello npm
PDF
FileReader and canvas and server silde
PPT
Google App EngineでTwitterアプリを作ろう
KEY
Webサイトのようには作れない!Webアプリ設計の考え方
PPTX
JavaScript : What is it really? AND Some new features in ES6
PDF
断言して間違えると信頼度が低下するというベイズの話
Getting started with ES6 : Future of javascript
Startup JavaScript
はじめてのWallaby.js
Prototypeベース in JavaScript
ES6 - JavaCro 2016
JavaScript 実践講座 Framework, Tool, Performance
JavaScript.Next Returns
Nds meetup8 lt
ECMAScript 6 Features(PDF 版)
 
jQuery勉強会#4
ES6 はじめました
アニメーションの実装つらい話
kontainer-js
150421 es6とかな話
Hello npm
FileReader and canvas and server silde
Google App EngineでTwitterアプリを作ろう
Webサイトのようには作れない!Webアプリ設計の考え方
JavaScript : What is it really? AND Some new features in ES6
断言して間違えると信頼度が低下するというベイズの話

Similar to これからのJavaScriptの話

PDF
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
PDF
最強オブジェクト指向言語 JavaScript 再入門!
PDF
Effective JavaScript Ch.1
PDF
JavaScript/CSS 2015 Autumn
PPT
20090121 J QueryからはじめるJava Script~初級編~
PDF
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
PDF
JavaScript.Next
PDF
traceur-compilerで ECMAScript6を体験
PDF
JavaScript (ECMAScript) 2013
PDF
Kanazawa.js.Next
PDF
Learn ES2015
PDF
JavaScriptおよびXPages Vote技術解説
PDF
Ecmascript2015とその周辺について
PDF
JavaScript Tips 2015(PDF 版)
 
PDF
Harmoware-VIS Tutorial
PDF
Serverside ES6@Livesense technight
PDF
Es6 cognition
PDF
JSer Class #1
PDF
LT#8 乗るしかないこのECMA Script 2015に
 
KEY
春のJavaScript祭り
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
最強オブジェクト指向言語 JavaScript 再入門!
Effective JavaScript Ch.1
JavaScript/CSS 2015 Autumn
20090121 J QueryからはじめるJava Script~初級編~
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
JavaScript.Next
traceur-compilerで ECMAScript6を体験
JavaScript (ECMAScript) 2013
Kanazawa.js.Next
Learn ES2015
JavaScriptおよびXPages Vote技術解説
Ecmascript2015とその周辺について
JavaScript Tips 2015(PDF 版)
 
Harmoware-VIS Tutorial
Serverside ES6@Livesense technight
Es6 cognition
JSer Class #1
LT#8 乗るしかないこのECMA Script 2015に
 
春のJavaScript祭り

More from Shogo Sensui

PDF
Functional JavaScript with Lo-Dash.js
PDF
Brush up your Coding! 2013 winter
PDF
Introduction to Service Worker
PDF
Introduction to Performance APIs
PDF
Browser Computing Structure
PDF
Web Standards 2018
PDF
Brush up your Coding!
PDF
Web Components changes Web Development
PDF
Component of Web Frontend
PDF
We should optimize images
PDF
初心者のためのWeb標準技術
PDF
The State of Web Components
PDF
Web フロントエンドの変遷とこれから
PDF
Web Standards Interop 2022
PDF
Re-think about Web Performance
PDF
Web Components 2016 & Polymer v2
PDF
Introduction to Resource Hints
Functional JavaScript with Lo-Dash.js
Brush up your Coding! 2013 winter
Introduction to Service Worker
Introduction to Performance APIs
Browser Computing Structure
Web Standards 2018
Brush up your Coding!
Web Components changes Web Development
Component of Web Frontend
We should optimize images
初心者のためのWeb標準技術
The State of Web Components
Web フロントエンドの変遷とこれから
Web Standards Interop 2022
Re-think about Web Performance
Web Components 2016 & Polymer v2
Introduction to Resource Hints

これからのJavaScriptの話


[8]ページ先頭

©2009-2025 Movatter.jp