SlideShare a Scribd company logo
JAVASCRIP
YOU DON’T KNOW
1
2
Nothing here
3
HMMM…
WHO ADDED
THIS SLIDE…
VEEEEEERRRR!!
4
SORRY …
PLEASE
CONTINUE…
VEER
SORRY 5
6
HISTORY
7
8
“WHATS IS
JAVASCRIPT?”
aaaa…hmmm..haa
a…
9
A
SINGLE-THREADED
NON-BLOCKING
ASYNCHRONOUS
CONCURRENT
LANGUAGE
WHAT IS JAVASCRIPT 10
WHAT IS JAVASCRIPT 11
IT HAS
A CALL STACK
AND EVENT LOOP
A CALLBACK QUEUE
& SOME OTHER APIS
WHAT IS JAVASCRIPT 12
WHAT IS JAVASCRIPT 13
WHAT IS JAVASCRIPT
CALL STACK
main()
console.log(sp
eak())
speak()
getsound()
bow bow!
OUTPUT
CODE
14
WHAT IS JAVASCRIPT 15
WHAT IS JAVASCRIPT 16
YA ..I DON’T
BELIEVE YOU..
SHOW PROOF!
Vee
r
WHAT IS JAVASCRIPT 17
WHAT IS JAVASCRIPT
OK!
18
“PASS BY
REFERENCE
/ VALUE”
Ofcourse its
value..isn’t it
19
PASS BY REFERENCE OR VALUE
REFERENCE / VALUE
20
PASS BY REFERENCE OR VALUE
WHATS THE OUTPUT?
21
PASS BY REFERENCE OR VALUE
WHATS THE OUTPUT?
22
PASS BY REFERENCE OR VALUE
WHATS THE OUTPUT?
23
PASS BY REFERENCE OR VALUE
BY VALUE
STRING
NUMBER
BOOLEAN
24
PASS BY REFERENCE OR VALUE
BY REFERENCE
ARRAY
OBJECT
25
PASS BY REFERENCE OR VALUE
W TO PASS ARRAY BY VAL
It’s a shallow copy
Works only for generics i.e string etc, but not
for array of object
26
PASS BY REFERENCE OR VALUE
SHALLOW COPY
27
PASS BY REFERENCE OR VALUE
W TO PASS OBJECT BY VAL
28
PASS BY REFERENCE OR VALUE
W TO PASS OBJECT BY VAL
Object.assign() is useful for merging objects or cloning them
shallowly.
29
“THIS”
WTF is this?
30
THIS
HE SAYS MYSELF HE REALLY MEAN
31
A VARIABLE
WITH THE VALUE
OF THE OBJECT
THAT INVOKES THE
FUNCTION
THIS 32
THE VALUE OF THIS
IS BASED ON THE
CONTEXT
IN WHICH THE
FUNCTION
IS CALLED AT RUNTIME
THIS 33
GRRRRR….STILL
NOT GETTING IT…
:(
Vee
r
THIS 34
THIS
WHATS THE OUTPUT?
35
THIS
WHATS THE OUTPUT?
36
THIS 37
“CLOSURE”
Love this song by
chainsmokers
..Ehh?
38
CLOSURE 39
A LOCAL VARIABLE
OF THE FUNCTION -
KEPT ALIVE AFTER
THE FUNCTION IS
RETURNED
CLOSURE 40
THE RETURNED
FUNCTION
HAS ACCESS TO THE
PARENT SCOPE
EVEN IF
THE PARENT FUNCTION
HAS ENDED
CLOSURE 41
GRRRRR….
NO CLOSURE TO
THIS… :(
Vee
r
CLOSURE 42
CLOSURE
WHATS THE OUTPUT?
43
CLOSURE
WHATS THE OUTPUT?
44
“PROTOTY
PE”
i won’t say a word !
45
A PROTOTYPE IS A
COLLECTION
OF PROPERTIES AND
METHODS
THAT CAN BE
AUTOMATICALLY
ATTACHED TO A
OBJECT WHEN CREATED
PROTOTYPE 46
EVERY
JAVASCRIPT FUNCTION
HAS A
PROTOTYPE PROPERTY
PROTOTYPE 47
PRIMARILY USED
FOR INHERITANCE
PROTOTYPE 48
GRRRRR….
NOT ABLE TO
INHERIT… :(
Vee
r
PROTOTYPE 49
PROTOTYPE
WHATS
THE
OUTPUT?
50
YOU CAN ADD
PROPERTIES TO
PROTOTYPE ANY
TIME
PROTOTYPE
THE PROTOTYPE
CHAIN
WILL FIND THE NEW
PROPERTY
51
PROTOTYPE
WHATS
THE
OUTPUT?
52
YOU CAN EXTEND
NATIVE OBJECTS
PROTOTYPE 53
PROTOTYPE 54
“MODULE
PATTERN”
PATTERNS IN
JAVASCRIPT
..SERIOUSLY?
55
MAINTAINABILITY
NAMESPACING
REUSABILITY
MODULE PATTERN 56
MODULE PATTERN
IMMEDIATELY INVOKING FUNCTION
57
MODULE PATTERN
GLOBAL VARIABLE IMPORT
58
MODULE PATTERN
OBJECT
INTERFACE
59
MODULE PATTERN
COMMONJS MODULE
(NODE JS)
Explicit dependencies
Loads module synchronously
60
MODULE PATTERN 61
MODULE PATTERN
AMD
YNCHRONOUS MODULE DEFINITION
Explicit dependencies
Loads module asynchronously
62
WAKE HIM UP!
63
“FUNCTIONS”
Ahh! I know this
Dont’t I?
64
FUNCTIONS
FUNCTION CONSTRUCTOR
65
FUNCTIONS
FUNCTION CONSTRUCTOR
Can be used instead of eval.
Jquery Uses to covert JSON String to Object
66
FUNCTIONS
BIND
When called, has its ‘this’ keyword set to the provided value
It explicitly lets you define the value of ‘this’
67
FUNCTIONS
CALL / APPLY
call() method calls the function with a given this value and arguments provid
apply() method calls the function with a given this value and an array of all a
68
FUNCTIONS
DIFFERENCE
BIND & CALL/APPLY
Call accepts additional parameters
Call executes the function right away
Call does not make a copy of the function it is being called on
69
70
LETS TAKE A
BREAK!
Vika
s
FUNCTIONS 71
72
73
WEB DEVELOPER
WITH A JOB
WEB DEVELOPER
WITHOUT A JOB
74
BIG CLAP FOR PAKYA..
THANKS FOR BEING A
SPORT
BUS KARO YAARO
OUR KITNI MAROGE
“EVAL”
I Heard its Evil..
75
EVAL
CHECK THIS FOR MORE INFO
Click
76
“CLEAN
CODE”
Swach Code
Abhiyaan :P
77
CLEAN CODE 78
CLEAN CODE
RETHINK LOOP
Lets forget for loop
79
CLEAN CODE
RETHINK LOOP-FILTER
80
CLEAN CODE
RETHINK LOOP-MAP
81
CLEAN CODE
RETHINK LOOP-SORT
82
CLEAN CODE
RETHINK LOOP-REDUCE
83
CLEAN CODE
RETHINK LOOP - SUMMARY
84
CLEAN CODE
RETHINK LOOP - TASKS
Get people with gender male & scientist
Sort by last name
Get total count of male & female
85
CLEAN CODE
RETHINK IF - TERNARY
86
condition ? expr1 : expr2
if else pattern
CLEAN CODE
RETHINK IF - TERNARY
87
What about else if
CLEAN CODE
RETHINK SWITCH
88
“DEBUG”
Its not a bug..its a
feature
89
DEBUG 90
DEBUG
DD ALERT AT EACH LIN
91
HOW WILL YOU FIX IT
DEBUG 92
DEBUG 93
DEBUG 94
DEBUG 95
DEBUG 96
LETS GO TO
CHROME DEVELOPER TOOLS
“CALLBACK
HELL”
Ohhhhh!
97
CALLBACK HELL 98
CALLBACK HELL 99
CALLBACK HELL 100
CALLBACK HELL 101
CALLBACK HELL
WHAT IS A
PROMISE?
A OBJECT THAT MAY
PRODUCE A SINGLE
VALUE IN THE FUTURE
A PROMISE IS AN
ASYNCHRONOUS
VALUE
102
CALLBACK HELL
PROMISE HAS
3 STATES
FULFILLED
REJECTED
PENDING
103
CALLBACK HELL 104
CALLBACK HELL
CREATE PROMISE
105
CALLBACK HELL
CALL PROMISE
106
CALLBACK HELL
PROMISE
CHAINING
107
CALLBACK HELL
MULTIPLE
PROMISE
108
CALLBACK HELL
ASYNC AWAIT
109
“ES6”
WOW!
110
ES6
ARROW FUNCTION
111
No need to specify function keyword
Implicit return at last line
Brings clarity & code reduction
ES6
TEMPLATE
LITERALS
112
Use the tilde sign to enclose the string
No more + sign or “ for concatenation
All scope variables can be accessed
ES6
SPREAD
OPERATOR
113
ES6
MANIPULATING
OBJECTS
114
ES6
MODULES
115
“BACKBONE
JS”
118
BACKBONEJS 119
BACKBONEJS 120
WHAT IT
IS?
Provides client side app structure
It contains Models to represent data
It contains Views to hook up Models to the DOM
Synchronises data to/from server
BACKBONEJS 121
IT’S A
MV*
FRAMEWORK
MODEL,VI
EW & *
BACKBONEJS 122
MOD
EL
Application data and business rules
It also contains events which notifies any change in data
Views are updated using these event notifications
his gives you one source of truth, which is not the user interfac
BACKBONEJS 123
VIE
W
User interacts with View
It observes any data change event in model
It reads and edits Model
BACKBONEJS 124
ROU
TER
Everything after the hashtag is considered as router
Manages application state like bookmarking a particular view
Maps your URL to function
BACKBONEJS 125
BACKBONEJS 126
HTTP REQUEST/RESPONSE
LIFECYCLE FOR SERVER-
SIDE MVC
BACKBONEJS 127
MVC AS
IMPLEMENTED BY
BACKBONEJS
BACKBONEJS 128
DEPENDE
NCIES
JQUERY &
UNDERSCORE
BACKBONEJS 129
BACKBONEJS 130
131
132

More Related Content

ODP
Object Oriented Javascript
PPTX
JavaScript Interview Questions And Answers | JavaScript Interview Preparation...
PPTX
Javascriptinobject orientedway-090512225827-phpapp02
PDF
JavaScript Core
PPTX
ES6 - JavaCro 2016
PPTX
Javantura v3 - ES6 – Future Is Now – Nenad Pečanac
PDF
Basics of JavaScript
Object Oriented Javascript
JavaScript Interview Questions And Answers | JavaScript Interview Preparation...
Javascriptinobject orientedway-090512225827-phpapp02
JavaScript Core
ES6 - JavaCro 2016
Javantura v3 - ES6 – Future Is Now – Nenad Pečanac
Basics of JavaScript

Similar to You Don't Know Javascript (20)

PDF
slides-students-C03.pdf
PDF
High quality Front-End
PDF
Javascript for Intermediates
PDF
Lecture7
KEY
Exciting JavaScript - Part I
PPTX
Javascripts. pptt
PPTX
All of javascript
PPTX
Awesomeness of JavaScript…almost
PPT
Advanced JavaScript
PDF
8 introduction to_java_script
PPT
Introduction to Javascript
PPTX
All of Javascript
PPTX
JavaScript (without DOM)
PPTX
jQuery (intermediate)
PPTX
IP Unit 2.pptx
PPTX
JavaScript in Object-Oriented Way
PDF
ES2015 / ES6: Basics of modern Javascript
PDF
Scalable JavaScript
PDF
JavaScript promise
PDF
JavaScript - Chapter 8 - Objects
slides-students-C03.pdf
High quality Front-End
Javascript for Intermediates
Lecture7
Exciting JavaScript - Part I
Javascripts. pptt
All of javascript
Awesomeness of JavaScript…almost
Advanced JavaScript
8 introduction to_java_script
Introduction to Javascript
All of Javascript
JavaScript (without DOM)
jQuery (intermediate)
IP Unit 2.pptx
JavaScript in Object-Oriented Way
ES2015 / ES6: Basics of modern Javascript
Scalable JavaScript
JavaScript promise
JavaScript - Chapter 8 - Objects
Ad

Recently uploaded (20)

PDF
PTS Company Brochure 2025 (1).pdf.......
PPTX
Introduction to Artificial Intelligence
PPTX
history of c programming in notes for students .pptx
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
AI in Product Development-omnex systems
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Digital Strategies for Manufacturing Companies
PPTX
Essential Infomation Tech presentation.pptx
PTS Company Brochure 2025 (1).pdf.......
Introduction to Artificial Intelligence
history of c programming in notes for students .pptx
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Design an Analysis of Algorithms I-SECS-1021-03
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Which alternative to Crystal Reports is best for small or large businesses.pdf
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Navsoft: AI-Powered Business Solutions & Custom Software Development
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
2025 Textile ERP Trends: SAP, Odoo & Oracle
How to Migrate SBCGlobal Email to Yahoo Easily
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Wondershare Filmora 15 Crack With Activation Key [2025
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
AI in Product Development-omnex systems
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Digital Strategies for Manufacturing Companies
Essential Infomation Tech presentation.pptx
Ad

You Don't Know Javascript