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
How does JavaScript work?
Search
Ulugbek Miniyarov
May 25, 2017
Programming
0
63
How does JavaScript work?
What is Javascript: a single-threaded non-blocking asynchronous concurrent language?
Ulugbek Miniyarov
May 25, 2017
Tweet
Share
More Decks by Ulugbek Miniyarov
See All by Ulugbek Miniyarov
DDD and CQRS Quick Overview
miniyarov
0
61
Software Architecture Patterns
miniyarov
1
28
Secure Software Development
miniyarov
0
39
Introduction to Docker
miniyarov
0
27
Advanced Blockchain Topics
miniyarov
0
40
Blockchain: from 0 to 1
miniyarov
0
85
Continuous Code Quality Inspection
miniyarov
0
37
Bitcoin Scripting, Smart Contracts (Ethereum), Tokens & ICO
miniyarov
0
31
PHP7 New Features
miniyarov
1
40
Other Decks in Programming
See All in Programming
なんとなくわかった気になるブロックテーマ入門/contents.nagoya 2025 6.28
chiilog
1
270
Deep Dive into ~/.claude/projects
hiragram
14
2.5k
プロダクト志向ってなんなんだろうね
righttouch
PRO
0
190
A2A プロトコルを試してみる
azukiazusa1
2
1.4k
#QiitaBash MCPのセキュリティ
ryosukedtomita
1
1.3k
プロダクト志向なエンジニアがもう一歩先の価値を目指すために意識したこと
nealle
0
130
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
2
810
20250704_教育事業におけるアジャイルなデータ基盤構築
hanon52_
5
780
MDN Web Docs に日本語翻訳でコントリビュートしたくなる
ohmori_yusuke
1
120
PicoRuby on Rails
makicamel
2
130
20250628_非エンジニアがバイブコーディングしてみた
ponponmikankan
0
680
git worktree × Claude Code × MCP ~生成AI時代の並列開発フロー~
hisuzuya
1
570
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
95
14k
Docker and Python
trallard
44
3.5k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
510
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Rebuilding a faster, lazier Slack
samanthasiow
82
9.1k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
Why Our Code Smells
bkeepers
PRO
336
57k
RailsConf 2023
tenderlove
30
1.1k
Scaling GitHub
holman
460
140k
Designing for Performance
lara
610
69k
Transcript
How does JavaScript work? Ulugbek Miniyarov Software Architect @ENUYGUN Heavily
inspired by Philip Roberts’ JSConf EU 2014 Talk
V8 Engine (Chrome’s JS Runtime) ChakraCore (Egde’s JS Runtime) Nitro
(Safari’s JS Runtime) SpiderMonkey (Firefox’s JS Runtime) JavaScript Engines:
JavaScript? A single-threaded non-blocking asynchronous concurrent language
JavaScript has a Call Stack, an Event Loop, a Callback
Queue, and some other apis (Ajax, Timing ...) Are they inside JavaScript Engines? - Only Call Stack with Heap
None
Asynchronous feature is not included in JavaScript Engine. Browsers /
NodeJS handles asynchronous part: - XHR Request - Timing (setTimeout, setInterval) - Events (onClick, onFocus i.e.)
None
The Call Stack one thread == one call stack ==
one thing at a time
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
Blocking And how non-blocking i/o gives asynchronicity
None
None
None
None
None
None
None
None
Demo: Blocking Script in Browser at: https://jsfiddle.net/9c9ztkvz/
Solution? Asynchronous Callback
None
None
None
None
None
None
None
Concurrency & Event Loop One thing at a time, except
not really.
None
None
None
None
None
None
None
None
None
None
None
None
None
Ready for a Quiz?
None
None
Demo Time!
Thanks