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
How does JavaScript work?
Search
Ulugbek Miniyarov
May 25, 2017
Programming
76
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
How does JavaScript work?
What is Javascript: a single-threaded non-blocking asynchronous concurrent language?
Ulugbek Miniyarov
May 25, 2017
More Decks by Ulugbek Miniyarov
See All by Ulugbek Miniyarov
DDD and CQRS Quick Overview
miniyarov
0
100
Software Architecture Patterns
miniyarov
1
65
Secure Software Development
miniyarov
0
48
Introduction to Docker
miniyarov
0
50
Advanced Blockchain Topics
miniyarov
0
76
Blockchain: from 0 to 1
miniyarov
0
110
Continuous Code Quality Inspection
miniyarov
0
55
Bitcoin Scripting, Smart Contracts (Ethereum), Tokens & ICO
miniyarov
0
53
PHP7 New Features
miniyarov
1
62
Other Decks in Programming
See All in Programming
20260828_品質と開発生産性を両立させる、AI時代のE2Eテストの考え方
magicpod
0
200
市販E-Readerを乗っ取れ 〜Embedded Swiftで電子ペーパーガジェットを制御する〜
trickart
0
180
巨大モノリシックアプリ モダン化大作戦
ktcryomm
0
950
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
310
AIとGame Jamで、ゲームを完成させた話
takahirosaeki
0
120
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
370
Snowflakeで業務アプリを作ろう。 Snowflakeのアプリ機能解説&実践ガイド
ayumu_yamaguchi
1
270
App Intentsのビルドプロセスを支える技術
kntkymt
0
310
GraphRAGのKnowledge Graphを 直接!見る/View-GraphRAG's-KnowledgeGraph-directly!
tyumugi1113
1
290
What We Talk About When We Talk About XP
m_seki
2
580
AI に Inclusive UI を書かせよう — Design Rules Skill で Compose UI を作り直す
theoriatec2024
1
480
AIエージェント時代のコードレビューを設計する
nogu66
6
2.7k
Featured
See All Featured
Speed Design
sergeychernyshev
33
2.1k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7k
Designing Experiences People Love
moore
143
24k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
320
Visualization
eitanlees
152
17k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
520
Become a Pro
speakerdeck
PRO
31
6.2k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
530
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
270
What's in a price? How to price your products and services
michaelherold
247
13k
Designing for Performance
lara
611
70k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
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