Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
JavaScriptを使いこなそう
Search
Nishimura Wataru
April 09, 2022
Programming
180
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
JavaScriptを使いこなそう
Nishimura Wataru
April 09, 2022
More Decks by Nishimura Wataru
See All by Nishimura Wataru
Minecraft Modding in 1.7.10 環境構築編 @ 電脳隊
watarunishimura
0
81
Other Decks in Programming
See All in Programming
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
300
Spec Driven Development | AI Summit Lisbon
danielsogl
PRO
0
210
Webフレームワークの ベンチマークについて
yusukebe
0
180
AIキャラアプリkaiwaの低遅延音声通話基盤をどう作ったか - AWS Gravitonで支える低遅延・低コストAI Agent基盤
mogamit
0
110
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
150
Agentic UI
manfredsteyer
PRO
0
200
鹿野さんに聞く!『TypeScriptコードレシピ集』で磨く実践力
tonkotsuboy_com
4
860
Datadog LLM Observabilityで実現する 安全なLLM Usage 管理
3150
0
120
TSKaigi Night Talks 2026_TypeScriptでサプライチェーンの整合性を型に閉じ込める
geekplus_tech
0
410
dRuby over BLE
makicamel
2
390
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
600
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
4.6k
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.7k
Test your architecture with Archunit
thirion
1
2.3k
Become a Pro
speakerdeck
PRO
31
6k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
980
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
Leo the Paperboy
mayatellez
7
1.9k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
570
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
140
Transcript
JavaScriptを使いこなそう 西村 航 ( @wataru_nishi731 ) 未完Project Webpack 勉強会用資料 1
目次 1. JavaScriptをおさらい 2. 一歩進んだJavaScriptの使い方 3. ES2015とかって何? 4. CommonJS /
ES Modules を知ろう! 5. バンドルツールを活用してJavaScriptを使いこなそう 6. バンドルツールでの軽量化 2
JavaScriptをおさらい JavaScriptの一番簡単な使い方をおさらいしましょう <html> <head> <title>Sample website</title> </head> <body> <h1>Heading</h1> </body>
<script> // Hello, World! を出力 console.log("Hello, World!") </script> </html> さすがにこの使い方で使うことは少ない 3
一般的な使い方 index.html <html> <!-- <head></head> は省略 --> <body> <h1>Heading</h1> <button
id="button">Push me!</button> </body> <!-- index.js で読み込み --> <script src="index.js"></script> </html> index.js var item = document.querySelector("#button") item.addEventListner("click", function(){ console.log("Button Clicked!") }) 4
実際に使うときは jquery等の外部ライブラリを<head>で読み込む <head> <script src="https://code.jquery.com/jquery-3.6.0.slim.min.js"crossorigin="anonymous"></script> </head> 複数のJavaScriptを利用したプログラムの記述 <!-- メイン -->
<script src="index.js"></script> <!-- サブ --> <script src="alert.js"></script> 5
一歩進んだJavaScriptの使い方 ES2015からの機能を使う(これは後で回収します) const , let , arrow function JavaScriptモジュール (ES
Modules) 6
JavaScript モジュール JavaScriptの関数やオブジェクト、変数をモジュール化されたファイルを通して、分割 して扱う方法 7
index.js draw.js save.js fileManagement.js 例えば... JavaScriptでペイントツールを作ると き 今までだとindex.jsや複数ファイ ルで横断してプログラムを作成 していた
JavaScriptモジュールを活用する ことで機能だけを別分けしてコ ードを書くことができる 8
参考 こんな風に使います https://github.com/mdn/js-examples/tree/master/modules/basic-modules 9
コード実例 export import を利用してモジュール機能を利用 modules/draw.js const drawRectangle = (x,y,w,h) =>
{ // 長方形を描画 } export { drawRectangle } index.js // importで読み込み import { drawRectangle } from "./modules/draw.js" // 読み込み時に実行 window.onload = (event) => { drawReactangle() } 10
ES2015とかって何? JavaScriptには規格が存在しており、規格を定めている機関Ecma International の名前 からECMAScriptと呼びます ES2015は2015年にリリースされたECMAScriptのバージョンです。 2015年以降毎年更新され、現在ES2022のリリース待ちです。 11
ES2015でリリースされた機能 const let による宣言 アロー関数(arrow function) etc... ES2017でリリースされた機能 async/await を利用した非同期処理
ES2018でリリースされた機能 オブジェクトのスプレッド演算子 などなど 12
CommonJS / ES Modules を知ろう 先ほどのモジュールを利用した開発には2つの方法があります。 Common JS ウェブブラウザ環境外で一般的に使われているモジュールシステム Node.jsが採用しており、メインのモジュールシステムがこれ
module.exports = { // export したい内容を指定 } const object = require("./module.js") 13
ES Modules JavaScript Native なモジュールシステム Node.js でも使えるし、クライアントサイド JavaScriptでも使える export import
を利用してモジュールを管理する defaultエクスポートや名前付きエクスポートなどCommonJSに比べ選択肢の幅が広く 後述の Tree Shaking で活用される 14
バンドルツールを活用してJavaScriptを使いこなそう webpack や vite と呼ばれるバンドルツールを利用することで、 先ほどのモジュールシステムで利用されるたくさんのモジュールファイルを管理可 能。 15
バンドルツールでの軽量化 方法はSplitChunkやTree Shakingなど利用方法はいろいろあるが、今回取り上げるのは Tree Shaking Tree Shakingとは? モジュールを組み合わせてバンドルするときに、使わないコードを含めないでバンド ルすることでバンドル後のファイルサイズ(ビルドサイズ)を小さくし、読み込み速 度を上げることができる。
例えば、lodashと呼ばれるライブラリ群も適切に利用することでビルドサイズを大幅 に削減できる。 16