Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
文法で学ばないJavaScript
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
ufoo68
January 21, 2026
Programming
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
文法で学ばないJavaScript
ufoo68
January 21, 2026
More Decks by ufoo68
See All by ufoo68
BlenderをCodexで動かす
ufoo68
1
870
改めて考えるOSSのあり方について
ufoo68
0
110
Cookieとは?
ufoo68
1
110
今更ながら、開発現場での生成AI活用について
ufoo68
0
110
28歳独身エンジニア 婚活してみた
ufoo68
0
59
OpenAIでクッキー型を作る
ufoo68
1
90
初めて開発リーダーをやってみた話
ufoo68
0
170
M5Stack用の指紋認証デバイスを試す
ufoo68
0
990
結婚式のクイズアプリを自作した話
ufoo68
0
760
Other Decks in Programming
See All in Programming
SODA - FACT BOOK(JP)
sodainc
1
40k
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
420
クラウドゲーミングのパフォーマンス最適化に挑む / Cloud Gaming Performance Tuning
vivion
0
330
AI-Powered Domain-Driven Design
ziobrando
0
420
선언형 햅틱 라이브러리 진동을 소개합니다
l2hyunwoo
1
300
graphql-ruby を Spinel で速くしようとした話
mtsmfm
0
140
React Native経験者が Flutterを30⽇間触って驚いたこと
3saito
0
160
S3 TablesのIcebergデータに、AIエージェントからアクセスしてみた / 20261016developersio2026joetsu-accessing-iceberg-in-s3tables-via-agent
kasacchiful
PRO
0
290
Moscow Python Meetup №112. Как поселить ИИ агентов в event driven архитектуре
moscowdjango
PRO
0
110
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
3
1.4k
AI Augmentation Techniques with Liberty
ivargrimstad
1
400
Goコンパイラを作ってGoをもっと理解する / Build a Go compiler to better understand Go
ikura_hamu
0
130
Featured
See All Featured
First, design no harm
axbom
PRO
2
1.4k
Navigating Weather and Climate Data
rabernat
0
590
Technical Leadership for Architectural Decision Making
baasie
3
640
The Curious Case for Waylosing
cassininazir
1
610
The agentic SEO stack - context over prompts
schlessera
0
1k
Fireside Chat
paigeccino
43
4.1k
Unsuck your backbone
ammeep
672
58k
The untapped power of vector embeddings
frankvandijk
2
2k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.9k
Raft: Consensus for Rubyists
vanstee
143
7.9k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
530
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
620
Transcript
文法で学ばない JavaScript ざっくりと学ぶWebの基礎
自己紹介 • 名前 ◦ 松永勇太(@ufoo_yuta) • 出身学科 ◦ 大阪工業大学ロボット工学科 •
職業 ◦ Webエンジニア • すきなこと ◦ シンプルなものづくり
今日のテーマ: JavaScriptについて
このLTが目指すところ JavaScriptを書いた事ない 人が、 結局JavaScriptは書けない けど、 なんとなくJavaScriptが理解できる こと。
ざっくり基礎
覚えて帰ってほしいトピック • スクリプト言語 • サンドボックス • Web API • イベントループ
スクリプト言語 JavaScriptは、スクリプト言語 →コンパイラ(機械語への変換)を介さずに実行するプログラム言語 各ブラウザとそれの実行エンジン↓ Chrome V8 Firefox SpiderMonkey Safari JavaScriptCore
サンドボックス JavaScriptは、サンドボックス内で動く →サンドボックスとは、プログラムの危険な動作を防ぐ安全柵 以下の操作はJavaScriptではできない • 選択していないファイルを勝手に読む • 他のアプリを勝手にインストールして起動する • 他のタブで開いたページの内容を知る
• カメラやマイクを勝手に起動する
Web API Web APIは、JavaScriptがブラウザの機能を呼び出す仕組み • インターネット通信(fetch) • タイマー実行(setTimeout) • 画面操作(document)
• ストレージへのアクセス(localStorage) • デバイスからの入力(MediaDevices) JavaScriptはOSへの干渉ができないので、Web APIを介する
イベントループ イベントループとは、「JavaScriptをいつ実行していいか」を決める仕組み fetch(https://xxx) .then(hoge) Web API イベントループ https://xxxとの通信 通信完了 hogeの実行を許可
Web API(fetch)でhttps://xxxへの通信後に、hogeという処理を実行させる例↑ イベントループの采配で、 hogeの実行タイミングが決まる
一言でまとめると JavaScriptは、 誰でも使えるように設計された言語 そのため、 危険なことを極力させない工夫が施されている
少し踏み込んだ話
JavaScriptの実行速度は遅い? 現代のJavaScriptは十分な性能 • JIT(Just In Time)コンパイラを持っている ◦ スクリプト言語の処理速度を最適化する仕組み ◦ 実行しながら処理の最適化がされる
• 内部処理はネイティブが動いている ◦ C/C++が実行しているので早い • 文字列処理はかなり早い ◦ 正規表現は高度に最適化されている
JavaScriptをブラウザ以外で動かす方法 3つの環境(ランタイム)がある • Node.js ◦ 一番歴史があるので、情報も多い ◦ その分負の遺産多め • Deno
◦ Node.jsの反省を活かして設計された ◦ Node.jsとの互換性が弱いので、現場で使いにくい • Bun ◦ Denoよりは互換性が強い ◦ 開発体験も良くて、実行速度も一番早い
JavaScriptで静的型付けをする方法 TypeScriptがある • MicroSoftが開発した言語 • JavaScriptにトランスパイルすることで実行できる →トランスパイルとは、ある言語のプログラムを別の言語に変換すること トランスパイル
JavaScriptの仕様はどこが決めている? • JavaScript ◦ ECMA-262 ▪ JavaScriptの仕様そのもの ▪ ECMA Scriptとも呼ばれる
◦ TC39 ▪ ECMAScriptを策定する専門委員会 • Web API ◦ 2つの団体が決めている ▪ W3C ▪ WATWG
さいごに なんでJavaScriptという名前なの? 当時Javaが流行っていたからそれに便乗したらしい