Submit Search
Upload
Nds meetup8 lt
•
Download as PPTX, PDF
•
0 likes
•
1,388 views
ushiboy
Follow
ついついクラシックスタイルで書いてしまう人のためのES6モダンシンタックス弾丸ツアー
Read less
Read more
Report
Share
Report
Share
1 of 53
Download now
Recommended
Real World OCamlを読んでLispと協調してみた
Real World OCamlを読んでLispと協調してみた
blackenedgold
ECMAScript 6 Features(PDF 版)
ECMAScript 6 Features(PDF 版)
taskie
HTML 版: http://alprosys.com/es6/es6_features.html ECMAScript 6 の新機能の紹介
Qlik Tips 20220315 Null値の課題と対策
Qlik Tips 20220315 Null値の課題と対策
QlikPresalesJapan
2022年3月15日 に実施されたWebセミナーQlik Tipsの資料です
(define)なしで再帰関数を定義する
(define)なしで再帰関数を定義する
blackenedgold
関数型LT▽たいかい
関数型プログラミング入門 with OCaml
関数型プログラミング入門 with OCaml
Haruka Oikawa
TUTLTにて公開した言語に依らない関数型プログラミング入門のスライドに、 TUTAdCに合わせてOCamlの関数型プログラミング入門を追加した前後編のスライドです。 長いです。 特に後半はコードが登場してスライドの密度が上がるため、 全画面表示するかダウンロードして見て頂けると幸いです。
Pythonデータ分析 第3回勉強会資料 8章
Pythonデータ分析 第3回勉強会資料 8章
Makoto Kawano
Pythonデータ分析 第3回勉強会資料 8章分
KETpic できれいな図を書こう
KETpic できれいな図を書こう
Yoshitomo Akimoto
KETpic を使って TeX に教科書のようなきれいな図を挿入しようというお話です. KETpic では3次元のものだとか細かい機能が定義されていますが,簡単な作図を用いてこのスライドでは解説していきます.
04.第四章用Matlab求偏导数
04.第四章用Matlab求偏导数
Xin Zheng
Recommended
Real World OCamlを読んでLispと協調してみた
Real World OCamlを読んでLispと協調してみた
blackenedgold
ECMAScript 6 Features(PDF 版)
ECMAScript 6 Features(PDF 版)
taskie
HTML 版: http://alprosys.com/es6/es6_features.html ECMAScript 6 の新機能の紹介
Qlik Tips 20220315 Null値の課題と対策
Qlik Tips 20220315 Null値の課題と対策
QlikPresalesJapan
2022年3月15日 に実施されたWebセミナーQlik Tipsの資料です
(define)なしで再帰関数を定義する
(define)なしで再帰関数を定義する
blackenedgold
関数型LT▽たいかい
関数型プログラミング入門 with OCaml
関数型プログラミング入門 with OCaml
Haruka Oikawa
TUTLTにて公開した言語に依らない関数型プログラミング入門のスライドに、 TUTAdCに合わせてOCamlの関数型プログラミング入門を追加した前後編のスライドです。 長いです。 特に後半はコードが登場してスライドの密度が上がるため、 全画面表示するかダウンロードして見て頂けると幸いです。
Pythonデータ分析 第3回勉強会資料 8章
Pythonデータ分析 第3回勉強会資料 8章
Makoto Kawano
Pythonデータ分析 第3回勉強会資料 8章分
KETpic できれいな図を書こう
KETpic できれいな図を書こう
Yoshitomo Akimoto
KETpic を使って TeX に教科書のようなきれいな図を挿入しようというお話です. KETpic では3次元のものだとか細かい機能が定義されていますが,簡単な作図を用いてこのスライドでは解説していきます.
04.第四章用Matlab求偏导数
04.第四章用Matlab求偏导数
Xin Zheng
Rの高速化
Rの高速化
弘毅 露崎
純粋関数型アルゴリズム入門
純粋関数型アルゴリズム入門
Kimikazu Kato
日本ユニシス社内でHaskellの勉強会をやったときの私の発表資料です。
mmapパッケージを使ってお手軽オブジェクト管理
mmapパッケージを使ってお手軽オブジェクト管理
Shintaro Fukushima
PyOpenCLによるGPGPU入門 Tokyo.SciPy#4 編
PyOpenCLによるGPGPU入門 Tokyo.SciPy#4 編
Yosuke Onoue
関数型言語&形式的手法セミナー(3)
関数型言語&形式的手法セミナー(3)
啓 小笠原
7/19に行った無料F#セミナーの資料です。関数プログラミングにご興味があればこちらのセミナーをどうぞ。http://www.mamezou.com/training/f_pro.html
kollectionの紹介
kollectionの紹介
Kota Mizushima
第3回Kotlin勉強会 @ Sansanで発表予定のスライドです。
異常検知と変化検知 9章 部分空間法による変化点検知
異常検知と変化検知 9章 部分空間法による変化点検知
hagino 3000
機械学習プロフェッショナルシリーズ輪読回の資料 2015-11-18 異常検知と変化検知 井手剛/杉山将・著 http://www.kspub.co.jp/book/detail/1529083.html
[CB16] House of Einherjar :GLIBC上の新たなヒープ活用テクニック by 松隈大樹
[CB16] House of Einherjar :GLIBC上の新たなヒープ活用テクニック by 松隈大樹
CODE BLUE
例えば関数ポインタのようにBuffer Overflowに対して影響を受けやすい何らかデータが動的確保された領域にあるならば、Heap-based Buffer OverflowはStack-based Buffer Overflowと同じくらい攻撃されやすいと考えられる。しかし、メモリレイアウトはアプリケーションごとに異なるため、リモートからの攻撃者にはそれが本当に攻撃可能かどうかが判らない。そのためHeap-based Buffer Overflowへの攻撃はそれほど実践的でないとも言えるが, 大変興味深いものなので焦点を当ててみよう。任意のコード実行のためにプログラムカウンタを得るというものは攻撃者の目的のひとつであり、攻撃者はそれを"write-what-where primitive"(任意の箇所への任意のデータを書き込み)により実現することがある。Unlink Attackという直接的な"write-what-where primitive"を実現する古典的な攻撃手法があったが、現在では緩和策が施されたことで使えなくなっている。そのため、Exploit書きはmalloc()の戻り値をほぼ任意のアドレスに固定させることで間接的な"write-what-where primitive"を実現する手法を考えた。間接的な"write-what-where primitive"を有するHeap ExploitationテクニックにはMalloc Maleficarum(Phantasmal Phantasmagoria氏による攻撃手法とその論文)などがある。そのうちのいくつかは既に修正されているが, 未だに有効なものもある。今回は最新のGLIBCでも有効であり, 間接的"write-what-where primitive"を有する新たな攻撃手法として"House of Einherjar"を提案したいと思う。 --- 松隈 大樹Hiroki Matsukuma サイバーディフェンス研究所の新米分析官であり、CTFチームTokyoWesternsのメンバーでもある。学生時代は国立東京工業高等専門学校というところで電子工学を学び, 趣味が高じてCTFに打ち込んでいたりした。アプリケーションをpwnする瞬間やカッコイイ音楽を聴いてるときが一番キテおり、おいしいものをひとと食べることも好む。最近はmalloc()の実装や組み込みシステムに対する攻撃など、やはりpwnに関することに興味をもっている.
Qt × Reactive Extensions
Qt × Reactive Extensions
TetsuroMatsumura
C++ MIX #2 Qt × Reactive Extensions
NOPのための STL-Allocaterの設計と実装
NOPのための STL-Allocaterの設計と実装
Yuta Ogura
NOPのための STL-Allocaterの設計と実装
lispmeetup#63 Common Lispでゼロから作るDeep Learning
lispmeetup#63 Common Lispでゼロから作るDeep Learning
Satoshi imai
lispmeetup#63の発表スライドです
JavaScript 講習会 #1
JavaScript 講習会 #1
Susisu
OUCC JavaScript 講習会 #1 http://oucc.org/
Vinculum
Vinculum
tomerun
Rubyによるデータ解析
Rubyによるデータ解析
Shugo Maeda
Rubyは、Webアプリケーションの領域を中心に利用が広がっているが、データ解析の分野ではライバルであるPythonに大きく遅れを取っている。本発表では、Rubyによるデータ解析の現状と今後の発展についての展望を述べた。 DCワークショップ2016(http://dcworkshop.github.io/201602/0_about.html)での発表。
R-hpc-1 TokyoR#11
R-hpc-1 TokyoR#11
Shintaro Fukushima
Scala の関数型プログラミングを支える技術
Scala の関数型プログラミングを支える技術
Naoki Aoyama
Scala関西Summit 2017 の発表資料です。 http://summit.scala-kansai.org/
Van laarhoven lens
Van laarhoven lens
Naoki Aoyama
lens
Sns suite presentation
Sns suite presentation
Jason Namkung
Ruby科学データ処理ツールの開発 NArrayとPwrake
Ruby科学データ処理ツールの開発 NArrayとPwrake
Masahiro Tanaka
ちょっと詳しくJavaScript 第1回【連想配列と配列】
ちょっと詳しくJavaScript 第1回【連想配列と配列】
株式会社ランチェスター
Boost tour 1_40_0
Boost tour 1_40_0
Akira Takahashi
Boost.勉強会 #1で使用したセッション資料。Boost 1.40.0までのほとんどのライブラリを書いてるはず。
Prosym2012
Prosym2012
MITSUNARI Shigeo
More Related Content
What's hot
Rの高速化
Rの高速化
弘毅 露崎
純粋関数型アルゴリズム入門
純粋関数型アルゴリズム入門
Kimikazu Kato
日本ユニシス社内でHaskellの勉強会をやったときの私の発表資料です。
mmapパッケージを使ってお手軽オブジェクト管理
mmapパッケージを使ってお手軽オブジェクト管理
Shintaro Fukushima
PyOpenCLによるGPGPU入門 Tokyo.SciPy#4 編
PyOpenCLによるGPGPU入門 Tokyo.SciPy#4 編
Yosuke Onoue
関数型言語&形式的手法セミナー(3)
関数型言語&形式的手法セミナー(3)
啓 小笠原
7/19に行った無料F#セミナーの資料です。関数プログラミングにご興味があればこちらのセミナーをどうぞ。http://www.mamezou.com/training/f_pro.html
kollectionの紹介
kollectionの紹介
Kota Mizushima
第3回Kotlin勉強会 @ Sansanで発表予定のスライドです。
異常検知と変化検知 9章 部分空間法による変化点検知
異常検知と変化検知 9章 部分空間法による変化点検知
hagino 3000
機械学習プロフェッショナルシリーズ輪読回の資料 2015-11-18 異常検知と変化検知 井手剛/杉山将・著 http://www.kspub.co.jp/book/detail/1529083.html
[CB16] House of Einherjar :GLIBC上の新たなヒープ活用テクニック by 松隈大樹
[CB16] House of Einherjar :GLIBC上の新たなヒープ活用テクニック by 松隈大樹
CODE BLUE
例えば関数ポインタのようにBuffer Overflowに対して影響を受けやすい何らかデータが動的確保された領域にあるならば、Heap-based Buffer OverflowはStack-based Buffer Overflowと同じくらい攻撃されやすいと考えられる。しかし、メモリレイアウトはアプリケーションごとに異なるため、リモートからの攻撃者にはそれが本当に攻撃可能かどうかが判らない。そのためHeap-based Buffer Overflowへの攻撃はそれほど実践的でないとも言えるが, 大変興味深いものなので焦点を当ててみよう。任意のコード実行のためにプログラムカウンタを得るというものは攻撃者の目的のひとつであり、攻撃者はそれを"write-what-where primitive"(任意の箇所への任意のデータを書き込み)により実現することがある。Unlink Attackという直接的な"write-what-where primitive"を実現する古典的な攻撃手法があったが、現在では緩和策が施されたことで使えなくなっている。そのため、Exploit書きはmalloc()の戻り値をほぼ任意のアドレスに固定させることで間接的な"write-what-where primitive"を実現する手法を考えた。間接的な"write-what-where primitive"を有するHeap ExploitationテクニックにはMalloc Maleficarum(Phantasmal Phantasmagoria氏による攻撃手法とその論文)などがある。そのうちのいくつかは既に修正されているが, 未だに有効なものもある。今回は最新のGLIBCでも有効であり, 間接的"write-what-where primitive"を有する新たな攻撃手法として"House of Einherjar"を提案したいと思う。 --- 松隈 大樹Hiroki Matsukuma サイバーディフェンス研究所の新米分析官であり、CTFチームTokyoWesternsのメンバーでもある。学生時代は国立東京工業高等専門学校というところで電子工学を学び, 趣味が高じてCTFに打ち込んでいたりした。アプリケーションをpwnする瞬間やカッコイイ音楽を聴いてるときが一番キテおり、おいしいものをひとと食べることも好む。最近はmalloc()の実装や組み込みシステムに対する攻撃など、やはりpwnに関することに興味をもっている.
Qt × Reactive Extensions
Qt × Reactive Extensions
TetsuroMatsumura
C++ MIX #2 Qt × Reactive Extensions
NOPのための STL-Allocaterの設計と実装
NOPのための STL-Allocaterの設計と実装
Yuta Ogura
NOPのための STL-Allocaterの設計と実装
lispmeetup#63 Common Lispでゼロから作るDeep Learning
lispmeetup#63 Common Lispでゼロから作るDeep Learning
Satoshi imai
lispmeetup#63の発表スライドです
JavaScript 講習会 #1
JavaScript 講習会 #1
Susisu
OUCC JavaScript 講習会 #1 http://oucc.org/
Vinculum
Vinculum
tomerun
Rubyによるデータ解析
Rubyによるデータ解析
Shugo Maeda
Rubyは、Webアプリケーションの領域を中心に利用が広がっているが、データ解析の分野ではライバルであるPythonに大きく遅れを取っている。本発表では、Rubyによるデータ解析の現状と今後の発展についての展望を述べた。 DCワークショップ2016(http://dcworkshop.github.io/201602/0_about.html)での発表。
R-hpc-1 TokyoR#11
R-hpc-1 TokyoR#11
Shintaro Fukushima
Scala の関数型プログラミングを支える技術
Scala の関数型プログラミングを支える技術
Naoki Aoyama
Scala関西Summit 2017 の発表資料です。 http://summit.scala-kansai.org/
Van laarhoven lens
Van laarhoven lens
Naoki Aoyama
lens
Sns suite presentation
Sns suite presentation
Jason Namkung
Ruby科学データ処理ツールの開発 NArrayとPwrake
Ruby科学データ処理ツールの開発 NArrayとPwrake
Masahiro Tanaka
ちょっと詳しくJavaScript 第1回【連想配列と配列】
ちょっと詳しくJavaScript 第1回【連想配列と配列】
株式会社ランチェスター
What's hot
(20)
Rの高速化
Rの高速化
純粋関数型アルゴリズム入門
純粋関数型アルゴリズム入門
mmapパッケージを使ってお手軽オブジェクト管理
mmapパッケージを使ってお手軽オブジェクト管理
PyOpenCLによるGPGPU入門 Tokyo.SciPy#4 編
PyOpenCLによるGPGPU入門 Tokyo.SciPy#4 編
関数型言語&形式的手法セミナー(3)
関数型言語&形式的手法セミナー(3)
kollectionの紹介
kollectionの紹介
異常検知と変化検知 9章 部分空間法による変化点検知
異常検知と変化検知 9章 部分空間法による変化点検知
[CB16] House of Einherjar :GLIBC上の新たなヒープ活用テクニック by 松隈大樹
[CB16] House of Einherjar :GLIBC上の新たなヒープ活用テクニック by 松隈大樹
Qt × Reactive Extensions
Qt × Reactive Extensions
NOPのための STL-Allocaterの設計と実装
NOPのための STL-Allocaterの設計と実装
lispmeetup#63 Common Lispでゼロから作るDeep Learning
lispmeetup#63 Common Lispでゼロから作るDeep Learning
JavaScript 講習会 #1
JavaScript 講習会 #1
Vinculum
Vinculum
Rubyによるデータ解析
Rubyによるデータ解析
R-hpc-1 TokyoR#11
R-hpc-1 TokyoR#11
Scala の関数型プログラミングを支える技術
Scala の関数型プログラミングを支える技術
Van laarhoven lens
Van laarhoven lens
Sns suite presentation
Sns suite presentation
Ruby科学データ処理ツールの開発 NArrayとPwrake
Ruby科学データ処理ツールの開発 NArrayとPwrake
ちょっと詳しくJavaScript 第1回【連想配列と配列】
ちょっと詳しくJavaScript 第1回【連想配列と配列】
Similar to Nds meetup8 lt
Boost tour 1_40_0
Boost tour 1_40_0
Akira Takahashi
Boost.勉強会 #1で使用したセッション資料。Boost 1.40.0までのほとんどのライブラリを書いてるはず。
Prosym2012
Prosym2012
MITSUNARI Shigeo
Boost Tour 1.50.0 All
Boost Tour 1.50.0 All
Akira Takahashi
boost tour 1.48.0 all
boost tour 1.48.0 all
Akira Takahashi
ECMAScript6による関数型プログラミング
ECMAScript6による関数型プログラミング
TanUkkii
2014/10/29のES6+カジュアルトークで発表した資料です。
つくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタ
京大 マイコンクラブ
2018/10/18 KMC例会講座 型無しラムダ計算のインタプリタを実装してみる
Thinking in Cats
Thinking in Cats
Eugene Yokota
ScalaMatsuri 2016
Flutterを体験してみませんか
Flutterを体験してみませんか
cch-robo
OSC 2020 Online /Kyoto セミナー企画 Flutterの話題とコミュニティ紹介 セッションスライドです。 https://event.ospn.jp/osc2020-online-kyoto/session/161439
中3女子が狂える本当に気持ちのいい constexpr
中3女子が狂える本当に気持ちのいい constexpr
Genya Murakami
Boost.勉強会 #8 中3女子が狂える本当に気持ちのいい constexpr
Rで学ぶデータマイニングI 第8章〜第13章
Rで学ぶデータマイニングI 第8章〜第13章
Prunus 1350
実務者のためのかんたんScalaz
実務者のためのかんたんScalaz
Tomoharu ASAMI
Scala
【macOSにも対応】AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」
【macOSにも対応】AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」
fukuoka.ex
Kerasで開発すると、複雑な数式によるモデル構築をせずとも、ディープラーニングによる時系列学習モデルが開発でき、 データ予測が実現できる、ということを、実際に動くコードで実感していただくセッションです。
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue
TypeScript 0.8.3 対応版です。
Rpscala2011 0601
Rpscala2011 0601
Hajime Yanagawa
scala勉強会 渋谷 Scaalでプログラム作ってみたのでScalaの作法を教えてください
XPages 開発 Tips 百連発
XPages 開発 Tips 百連発
Mitsuru Katoh
2012年5月18日 XPagesDay でのプレゼンテーション
Apache Spark チュートリアル
Apache Spark チュートリアル
K Yamaguchi
2015-4-28に東北大学 乾・岡崎研究室でおこなったチュートリアルの資料です。 研究室にはHadoopクラスタ(CDH5.3)があります。実験や実験の前処理といったタスクでそのクラスタを利用するためのチュートリアル、という前提です。 (追記)PMIの計算はもっと実行効率がいい手順があります。という説明を入れ忘れてました。 (追記)PMI計算でIntと書いてある部分は全部Longの間違いでした。
mxnetで頑張る深層学習
mxnetで頑張る深層学習
Takashi Kitano
Tokyo.R#57
Osc shimane-2016-do-postgres-dream-of-graph-database
Osc shimane-2016-do-postgres-dream-of-graph-database
Toshi Harada
Apply the PostgreSQL WAL in the graph database. and, Search graph database using the FDW.
プログラミング言語Scala
プログラミング言語Scala
TanUkkii
社内勉強会で発表したScalaの入門的内容です
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
Hiromi Ishii
PFI社内セミナーで強力な型システムがもたらす様々な恩恵について発表した際の資料です。 補足的な記事はこちらをどうぞ: http://blog.konn-san.com/article/20120412/how-wonderful-to-be-typed また、発表の模様は以下の ustream からご覧になれます。 http://www.ustream.tv/recorded/21781769
Similar to Nds meetup8 lt
(20)
Boost tour 1_40_0
Boost tour 1_40_0
Prosym2012
Prosym2012
Boost Tour 1.50.0 All
Boost Tour 1.50.0 All
boost tour 1.48.0 all
boost tour 1.48.0 all
ECMAScript6による関数型プログラミング
ECMAScript6による関数型プログラミング
つくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタ
Thinking in Cats
Thinking in Cats
Flutterを体験してみませんか
Flutterを体験してみませんか
中3女子が狂える本当に気持ちのいい constexpr
中3女子が狂える本当に気持ちのいい constexpr
Rで学ぶデータマイニングI 第8章〜第13章
Rで学ぶデータマイニングI 第8章〜第13章
実務者のためのかんたんScalaz
実務者のためのかんたんScalaz
【macOSにも対応】AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」
【macOSにも対応】AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
Rpscala2011 0601
Rpscala2011 0601
XPages 開発 Tips 百連発
XPages 開発 Tips 百連発
Apache Spark チュートリアル
Apache Spark チュートリアル
mxnetで頑張る深層学習
mxnetで頑張る深層学習
Osc shimane-2016-do-postgres-dream-of-graph-database
Osc shimane-2016-do-postgres-dream-of-graph-database
プログラミング言語Scala
プログラミング言語Scala
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
Nds meetup8 lt
1.
ついついクラシックスタイルで書いてしまう人のための ES6モダンシンタックス 弾丸ツアー NDS Meetup #8
LT ushiboy
2.
WARNING! フルスピードで飛ばしていきます。 お聞き苦しい点が多々あるかと思いますが、ご容赦ください。 2
3.
ES6 を三行で ● JavaScriptの標準言語仕様
ECMAScriptの第6版 (正式名称:ECMAScript 2015) ● 今年(2015年)6月にリリース ● いろいろ機能追加 3
4.
追加された機能 クラス モジュール アロー関数 オブジェクトリテラル 拡張 ブロックスコープ デフォルトパラメータ レストパラメータ スプレッドオペレータ 分割代入 イテレータ テンプレートリテラル Promise Generator Map, Set 型付配列 Symbol Proxy, Reflect String RegExp Array Object,
Math, Number 末尾最適化 4
5.
今日話すところ クラス モジュール アロー関数 オブジェクトリテラル 拡張 ブロックスコープ デフォルトパラメータ レストパラメータ スプレッドオペレータ 分割代入 イテレータ テンプレートリテラル Promise Generator Map, Set 型付配列 Symbol Proxy, Reflect String RegExp Array Object,
Math, Number 末尾最適化 この辺りのだけ 5
6.
では、用途ごとのクラシックスタイルと モダンスタイルを見ていきます 6
7.
無名関数を使う アロー関数 7
8.
無名関数を使う // classic [1, 2,
3].forEach(function(x, i) { return i + x; }); [1, 2, 3].filter(function(x) { return x % 2 === 0; }); setTimeout(function() { console.log('Hello! function world!'); }, 1000); 8
9.
無名関数を使う // morden [1, 2,
3].map((x, i) => { return i + x; }); [1, 2, 3].filter(x => x % 2 === 0); setTimeout(() => { console.log('Hello! arrow function world!'); }, 1000); Point Point Point 9
10.
変数名と同じ名前の オブジェクトプロパティを作る オブジェクトリテラル拡張 10
11.
変数名と同じ名前のオブジェクトプロパティを作る // classic var name
= 'alice'; var age = 20; var obj = { name: name, age: age }; console.log(obj); // { name: 'alice', age: 30 } 11
12.
変数名と同じ名前のオブジェクトプロパティを作る // morden var name
= 'alice'; var age = 20; var obj = { name, age }; console.log(obj); // { name: 'alice', age: 30 } Point 12
13.
変数の値をオブジェクトプロパティ名に 使う オブジェクトリテラル拡張 13
14.
変数の値をオブジェクトプロパティ名に使う // classic var key
= 'age'; var obj = { name: 'alice' }; obj[key] = 50; console.log(obj); // { name: 'alice', age: 50 } 14
15.
変数の値をオブジェクトプロパティ名に使う // morden var key
= 'age'; var obj = { name: 'alice', [key]: 50 }; console.log(obj); // { name: 'alice', age: 50 } Point 15
16.
オブジェクトにメソッドを定義する オブジェクトリテラル拡張 16
17.
オブジェクトにメソッドを定義する // classic var obj
= { name: 'alice', greet: function() { console.log(this.name); } }; obj.greet(); // 'alice' 17
18.
オブジェクトにメソッドを定義する // morden var obj
= { name: 'alice', greet() { console.log(this.name); } }; obj.greet(); Point 18
19.
関数の引数にデフォルト値を指定する デフォルトパラメータ 19
20.
関数の引数にデフォルト値を指定する // classic function f(x,
y) { if (y === undefined) { y = 1; } return x + y; } console.log(f(1)); // 2 20
21.
関数の引数にデフォルト値を指定する // morden function f(x,
y=1) { return x + y; } console.log(f(1)); // 2 Point 21
22.
可変長引数を持つ関数を作る レストパラメータ 22
23.
可変長引数を持つ関数を作る // classic function e(x)
{ var y = [].slice.call(arguments, 1); return x + y.reduce(function(a, b) { return a + b; }); } console.log(e('hoge', 1, 2, 3)); // hoge6 23
24.
可変長引数を持つ関数を作る // morden function e(x,
...y) { return x + y.reduce((a, b) => a + b); } console.log(e('hoge', 1, 2, 3)); // hoge6 Point 24
25.
配列を連結して配列を作る スプレッドオペレータ 25
26.
配列を連結して配列を作る // classic var src
= [3]; var other = [1, 2].concat(src); console.log(other); // [1, 2, 3] 26
27.
配列を連結して配列を作る // morden var src
= [3]; var other = [1, 2, ...src]; console.log(other); // [1, 2, 3] Point 27
28.
オブジェクトを展開して 別のオブジェクトを作る スプレッドオペレータ 28
29.
オブジェクトを展開して別のオブジェクトを作る // classic var obj
= { name: 'alice' }; var other = { name: obj.name, age: 20 }; console.log(other); // { name: 'alice', age: 20 } 29
30.
オブジェクトを展開して別のオブジェクトを作る // morden var obj
= { name: 'alice' }; var other = { ...obj, age: 20 }; console.log(other); // { name: 'alice', age: 20 } Point 30
31.
配列を展開して関数の引数に渡す スプレッドオペレータ 31
32.
配列を展開して関数の引数に渡す function x(a, b,
c) { return a + b + c; } var params = [1, 2, 3]; // classic console.log(x.apply(null, params)); // 6 32
33.
配列を展開して関数の引数に渡す function x(a, b,
c) { return a + b + c; } var params = [1, 2, 3]; // morden console.log(x(...params)); // 6 Point 33
34.
文字列を1文字ずつ分割した配列にする スプレッドオペレータ 34
35.
文字列を1文字ずつ分割した配列にする var str =
'foo'; // classic var chars = str.split(''); console.log(chars); // ['f', 'o', 'o'] 35
36.
文字列を1文字ずつ分割した配列にする var str =
'foo'; // morden var chars = [...str]; console.log(chars); // ['f', 'o', 'o'] Point 36
37.
配列の特定要素を変数に取り出す 分割代入 37
38.
配列の特定要素を変数に取り出す var list =
['alice', false, 20]; // classic var name = list[0]; var age = list[2]; console.log(name, age); // 'alice' 20 38
39.
配列の特定要素を変数に取り出す var list =
['alice', false, 20]; // morden var [ name, , age] = list; console.log(name, age); // 'alice', 20 Point 39
40.
変数の値を入れ替える 分割代入 40
41.
変数の値を入れ替える var a =
1; var b = 2; // classic var tmp = b; b = a; a = tmp; console.log(a, b); // 2 1 41
42.
変数の値を入れ替える var a =
1; var b = 2; // morden [b, a] = [a, b]; console.log(a, b); // 2 1 Point 42
43.
オブジェクトプロパティを変数に取り出 す 分割代入 43
44.
オブジェクトプロパティを変数に取り出す var obj =
{ name: 'alice', age: 20, enable: false }; // classic var name = obj.name; var age = obj.age; console.log(name, age); // 'alice' 20 44
45.
オブジェクトプロパティを変数に取り出す var obj =
{ name: 'alice', age: 20, enable: false }; // morden var { name, age } = obj; console.log(name, age); // 'alice' 20 Point 45
46.
文字列に変数を埋め込む テンプレートリテラル 46
47.
文字列に変数を埋め込む // classic var name
= 'alice'; console.log('Hello! ' + name + '!'); // Hello! alice! var items = { apple: 5, orange: 4 }; console.log('total: ' + (items.apple + items.orange)); // total: 9 47
48.
文字列に変数を埋め込む // morden var name
= 'alice'; console.log(`Hello! ${name}!`); // Hello! alice! var items = { apple: 5, orange: 4 }; console.log(`total: ${items.apple + items.orange}`); // total: 9 Point Point 48
49.
複数行の文字列を使う テンプレートリテラル 49
50.
複数行の文字列を使う // classic var text
= [ 'line 1', 'line 2', 'line 3' ].join('¥n'); console.log(text); // line 1¥nline 2¥nline 3 50
51.
複数行の文字列を使う // morden var text
= `line 1 line 2 line 3`; console.log(text); // line 1¥nline 2¥nline 3 Point 51
52.
もっと知りたい方は WEB+DB PRESS vol.87とか読むと良いと思います 52
53.
Enjoy ES6! 53
Download now