SlideShare a Scribd company logo
JavaScript
The good parts for humans
(part 1)
B Anjaneyulu Reddy
Email: anji.t6@gmail.com
Twitter: @_anji
www.evibe.in
Training Schedule
Day 1
o History
o Grammar
o Objects
Day 2
o Functions
o Inheritance
Day 3
o Arrays
o RegEx
o Misc
Day 4
o Bad parts
o JSON
o JSLint
o Other best practices
Day 5
Who is the author of JS?
Brendan Eich
In which year was JS shipped?
1995
Name the company in which JS
was born?
NetScape
History of JavaScript (1 of 3)
Java applets failed
o Microsoft's self implementation of Java VM
o long loading time
o native OS GUI look and feel
How Flex is different from Java applets?
Java applet vs Flash vs Silverlight
History of JavaScript (2 of 3)
• `Scheme` like scripting language
• Brand new programming language in 10
days
Java Scheme
Self
LiveScriptJavaScript
JScript
History of JavaScript (3 of 3)
W3C
ECMA - ECMA Script
Why haven't the bad parts been fixed?
Introduction to JS
• What is JS?
• World's most popular programming language
• World's most confused programming language
• A language of many contrasts
o Write without learning
o Loosely typed
o Prototype inheritance
o Dynamic objects
o Language with design mistake: Global variables
Bad parts
Global variables
Semicolon insertion
+ adds and concatenates
`typeof `
`with` and `eval`
phony array
== and !=
false, null, undefined, NaN
JS falsy values
false
null
undefined
NaN
'' - empty string
0 - the number 0
All other values are truthy.
Grammar
White Space
Grammar
Names
Reserved words:
abstract, boolean, break, byte, case, catch, char, class,
const, continue, debugger, default, delete, do, double,
else, enum, export, extends, false, final, finally,
float, for, function, goto, if, implements, import, in,
instanceof, int, interface, long, native, new, null,
package, private, protected, public, return, short,
static, super, switch, synchronized, this, throw,
throws, transient, true, try, typeof, var, volatile,
void, while, with, Infinity, NaN, undefined
Grammar
Numbers
Grammar
Exercise 1
1 === 1.0 ?
isNaN();
10 / 0 ?
0 / 0 ?
Number.MAX_VALUE;
Grammar
String
String are immutable
length, toUpperCase()
'c' + 'a' + 't' === 'cat' ?
Grammar
Statements
JS scoping?
JS blocks
labels - to break loops
1.html
Grammar
Statements
Grammar
Statements
disruptive statement
break statement
return statement
Grammar
Conditional Statements
• if
• switch
block
if statement
Grammar
Conditional Statements
switch statement
case clause
Grammar
Looping Statements
• while
• for
• do
Grammar
Looping Statements
for statement
Grammar
Expression
Objects
What is an Object?
Except JS simple types, everything else is an
object
{ numbers, strings, booleans, null and
undefined}
Objects are mutable keyed collection
Objects
literal
Objects
object literal
Objects
Exercise 2
o Sample Object
o TypeError - undefined
o || Operator
o && Operator
o pass by reference
o prototypal inheritance
 Object.beget
 dynamic relationship
o hasOwnProperty
o for in statement
o global abatement
Thank You

More Related Content

PDF
Comparison of Type Systems
Tamer Abdul-Radi
 
ODP
Good coding-style, a talk made in 2008 to encourage changes in MySQL coding s...
Kostja Osipov
 
PDF
Pmd naming-rules
3trg
 
PDF
Code analyzer: FindBugs and PMD
Kan-Han (John) Lu
 
PDF
What is-pmd
3trg
 
PDF
Video caption generation via seq-to-seq model (TensorFlow implementation)
Chun-Min Chang
 
PPTX
Is it CrossFit or JavaScript?
Ara Pehlivanian
 
PDF
PL Lecture 02 - Binding and Scope
Schwannden Kuo
 
Comparison of Type Systems
Tamer Abdul-Radi
 
Good coding-style, a talk made in 2008 to encourage changes in MySQL coding s...
Kostja Osipov
 
Pmd naming-rules
3trg
 
Code analyzer: FindBugs and PMD
Kan-Han (John) Lu
 
What is-pmd
3trg
 
Video caption generation via seq-to-seq model (TensorFlow implementation)
Chun-Min Chang
 
Is it CrossFit or JavaScript?
Ara Pehlivanian
 
PL Lecture 02 - Binding and Scope
Schwannden Kuo
 

Viewers also liked (15)

PDF
Web REST APIs Design Principles
Anji Beeravalli
 
PPTX
Energofor
Energofor
 
PDF
How Dangerous Are Motorcycles, Really?
TastyPlacement
 
PPT
P iv 8 - informática - actividades orientadoras de desempeños
mkciencias
 
PPTX
Digital PR for Trade Shows
The Trade Group
 
PDF
Making Infrastructure as Awesome as Agile Development
msilpala
 
PDF
Network Identification via Node Knock-out
Marzieh Nabi
 
PDF
QReequn presentation
Evgeny Klimenko
 
PPTX
Nursing audit
Jaya Deepa
 
PPTX
Vocabulary - Week 3
lressler
 
PPSX
Camping in uk
bunny williams
 
DOC
Q. leyes de los gases
mkciencias
 
PPTX
ROC History
mabielick
 
PDF
Business Modelling
Anji Beeravalli
 
Web REST APIs Design Principles
Anji Beeravalli
 
Energofor
Energofor
 
How Dangerous Are Motorcycles, Really?
TastyPlacement
 
P iv 8 - informática - actividades orientadoras de desempeños
mkciencias
 
Digital PR for Trade Shows
The Trade Group
 
Making Infrastructure as Awesome as Agile Development
msilpala
 
Network Identification via Node Knock-out
Marzieh Nabi
 
QReequn presentation
Evgeny Klimenko
 
Nursing audit
Jaya Deepa
 
Vocabulary - Week 3
lressler
 
Camping in uk
bunny williams
 
Q. leyes de los gases
mkciencias
 
ROC History
mabielick
 
Business Modelling
Anji Beeravalli
 
Ad

Similar to Javascript: The good parts for humans (part 1) (20)

PPTX
JS Fest 2018. Douglas Crockford. The Better Parts
JSFestUA
 
PPT
Douglas Crockford Presentation Goodparts
Ajax Experience 2009
 
PPTX
ES6 - JavaCro 2016
Nenad Pecanac
 
PPTX
Std 12 Computer Chapter 7 Java Basics (Part 1)
Nuzhat Memon
 
PDF
Google Interview Questions By Scholarhat
Scholarhat
 
PDF
Dark side of JS development framework
AJAY NAYAK
 
PPTX
Javantura v3 - ES6 – Future Is Now – Nenad Pečanac
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
PDF
Prefix casting versus as-casting in c#
Paul Houle
 
PDF
JavaScript nicht nur für Programmierer: Einblicke in die weltweit am meisten ...
Peter Hecker
 
PDF
OpenThink Labs Training : Diving into Java, Breaking the Surface
Wildan Maulana
 
PDF
JavaScript Interview Questions PDF By ScholarHat
Scholarhat
 
PPTX
Introduction to JavaScript - Web Programming
tyfeng7
 
PPTX
Modern_2.pptx for java
MayaTofik
 
PDF
Java notes | All Basics |
ShubhamAthawane
 
PPTX
JVM languages "flame wars"
Gal Marder
 
PDF
Real-world polyglot programming on the JVM - Ben Summers (ONEIS)
jaxLondonConference
 
PPTX
Full CSE 310 Unit 1 PPT.pptx for java language
ssuser2963071
 
PDF
An Introduction to Groovy for Java Developers
Kostas Saidis
 
JS Fest 2018. Douglas Crockford. The Better Parts
JSFestUA
 
Douglas Crockford Presentation Goodparts
Ajax Experience 2009
 
ES6 - JavaCro 2016
Nenad Pecanac
 
Std 12 Computer Chapter 7 Java Basics (Part 1)
Nuzhat Memon
 
Google Interview Questions By Scholarhat
Scholarhat
 
Dark side of JS development framework
AJAY NAYAK
 
Javantura v3 - ES6 – Future Is Now – Nenad Pečanac
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Prefix casting versus as-casting in c#
Paul Houle
 
JavaScript nicht nur für Programmierer: Einblicke in die weltweit am meisten ...
Peter Hecker
 
OpenThink Labs Training : Diving into Java, Breaking the Surface
Wildan Maulana
 
JavaScript Interview Questions PDF By ScholarHat
Scholarhat
 
Introduction to JavaScript - Web Programming
tyfeng7
 
Modern_2.pptx for java
MayaTofik
 
Java notes | All Basics |
ShubhamAthawane
 
JVM languages "flame wars"
Gal Marder
 
Real-world polyglot programming on the JVM - Ben Summers (ONEIS)
jaxLondonConference
 
Full CSE 310 Unit 1 PPT.pptx for java language
ssuser2963071
 
An Introduction to Groovy for Java Developers
Kostas Saidis
 
Ad

More from Anji Beeravalli (6)

PPTX
Javascript: The good parts for humans (part 5)
Anji Beeravalli
 
PPTX
Javascript: The good parts for humans (part 6)
Anji Beeravalli
 
PPTX
Javascript: The good parts for humans (part 2)
Anji Beeravalli
 
PPTX
Javascript: The good parts for humans (part 3)
Anji Beeravalli
 
PPTX
Javascript: The good parts for humans (part 4)
Anji Beeravalli
 
PDF
CSS for developers
Anji Beeravalli
 
Javascript: The good parts for humans (part 5)
Anji Beeravalli
 
Javascript: The good parts for humans (part 6)
Anji Beeravalli
 
Javascript: The good parts for humans (part 2)
Anji Beeravalli
 
Javascript: The good parts for humans (part 3)
Anji Beeravalli
 
Javascript: The good parts for humans (part 4)
Anji Beeravalli
 
CSS for developers
Anji Beeravalli
 

Recently uploaded (20)

PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PDF
The Future of Artificial Intelligence (AI)
Mukul
 
PDF
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
PDF
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
PDF
Doc9.....................................
SofiaCollazos
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PDF
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PDF
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
The Future of Artificial Intelligence (AI)
Mukul
 
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
Doc9.....................................
SofiaCollazos
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 

Javascript: The good parts for humans (part 1)

Editor's Notes

  • #7: Java Applets vs Flash vs Silverligth http://www.shinedraw.com/image-manipulation/javafx-vs-flash-vs-silverlight/ http://stackoverflow.com/questions/816428/java-applets-vs-silverlight-vs-flash-flex
  • #8: Java Applets vs Flash vs Silverligth http://www.shinedraw.com/image-manipulation/javafx-vs-flash-vs-silverlight/ http://stackoverflow.com/questions/816428/java-applets-vs-silverlight-vs-flash-flex