SlideShare a Scribd company logo
Fundamental JavaScript:  The Language Presented by Brian Dukes
Where are we going? Feature Overview Syntax Objects Functions Inheritance Miscellaneous
Feature Overview 1st Class Functions Loose Typing Dynamic Objects Prototypal Inheritance Global Variables
Where are we? Feature Overview Syntax Objects Functions Inheritance Miscellaneous
Syntax: Primitive Types Number 64-bit floating, " double " String Surrounded by single or double quotes Boolean true  or  false Objects Key/value pairs Arrays Indexed collection Functions Callable code
Syntax: Truthy & Falsy Values Falsy values: false null undefined '' 0 NaN Truthy values: Everything else true ,  'false' ,  {}
Syntax: Statements & Operators var  if switch while for for in do while try throw return break   with ternary ( ? : ) typeof || && ==  &  === !=  &  !== + !
Where are we? Feature Overview Syntax Objects Functions Inheritance Miscellaneous
Objects: Literals JSON (plus functions) Name/value pairs Name is any string Quotes are optional for legal name Value can be any JavaScript value: Other objects Functions Arrays
Objects: Setting & Getting var flight = {      airline: "Oceanic",      number:  815 }; alert(flight.airline); alert(flight.equipment); // undefined  flight.equipment.status // throw "TypeError"  flight.equipment = {      model: 'Boeing 777'  }; flight['flight-status'] = 'overdue'; alert(flight["flight-status"]);
Where are we? Feature Overview Syntax Objects Functions Inheritance Miscellaneous
Functions: Definition Functions are objects Functions have a prototype Functions can have properties Functions can have methods Functions can be passed as arguments to functions Functions can be returned from functions Functions can be invoked
Functions: Closure Functions have access to outer variables this  &  arguments  are different for each function   var i; for (i = 0; i < 10; i++) {      setTimeout(function () {          console.log(i*i);      }, i); }  
Functions: Scope Does  not  have block scope Unlike every other language with C style syntax Function scope function outer () {      for (var i = 0; i < 10; i++) {          var double = i+i;          $link.click(function () {               alert(double)           });      } } 
Functions: Callbacks Functions can be passed to other functions    makeAjaxCall(function (result) {      alert(result);  }); 
Functions: Module Pattern Call an anonymous function after declaring it ( IIFE ) Keeps inner values from being accessible outside of the function   (function () {      var x = 1; }());
Where are we? Feature Overview Syntax Objects Functions Inheritance Miscellaneous
Inheritance: Pseudoclassical new  operator Function names are capitalized, by convention Lots of downfalls
Inheritance: Prototype All objects has a prototype property When retrieving properties, any property not on the object is retrieved from its prototype If the property isn't on the prototype,  its  prototype is checked, etc.
Where are we? Feature Overview Syntax Objects Functions Inheritance Miscellaneous
Miscellaneous: Arrays Literal notation:  [true, 1, &quot;string&quot;, {}] length  property Not bounded Use  push  method to add to the end Is a weird object, not a &quot;real&quot; array
Miscellaneous: Regular Expressions Pattern Matching Literal notation:  /pattern/options
Resources JavaScript Weekly -  http://javascriptweekly.com/ JSLint -  http://www.jslint.com/ JSLint.VS2010 -  http://bit.ly/JSLint-VS2010 jsFiddle -  http://jsfiddle.net/ MDC -  https://developer.mozilla.org This -  http://www.slideshare.net/EngageSoftware/

More Related Content

What's hot (20)

Swift Tutorial Part 1. The Complete Guide For Swift Programming Language
Swift Tutorial Part 1. The Complete Guide For Swift Programming LanguageSwift Tutorial Part 1. The Complete Guide For Swift Programming Language
Swift Tutorial Part 1. The Complete Guide For Swift Programming Language
Hossam Ghareeb
 
Working with Cocoa and Objective-C
Working with Cocoa and Objective-CWorking with Cocoa and Objective-C
Working with Cocoa and Objective-C
Kazunobu Tasaka
 
Swift, a quick overview
Swift, a quick overviewSwift, a quick overview
Swift, a quick overview
Julian Król
 
Why Java Sucks and C# Rocks (Final)
Why Java Sucks and C# Rocks (Final)Why Java Sucks and C# Rocks (Final)
Why Java Sucks and C# Rocks (Final)
jeffz
 
Introduction to Dart
Introduction to DartIntroduction to Dart
Introduction to Dart
RameshNair6
 
C++ Training
C++ TrainingC++ Training
C++ Training
SubhendraBasu5
 
PHP 8: Process & Fixing Insanity
PHP 8: Process & Fixing InsanityPHP 8: Process & Fixing Insanity
PHP 8: Process & Fixing Insanity
GeorgePeterBanyard
 
devLink - What's New in C# 4?
devLink - What's New in C# 4?devLink - What's New in C# 4?
devLink - What's New in C# 4?
Kevin Pilch
 
MongoDB.local Berlin: How to add your favorite language to MongoDB Compass
MongoDB.local Berlin: How to add your favorite language to MongoDB CompassMongoDB.local Berlin: How to add your favorite language to MongoDB Compass
MongoDB.local Berlin: How to add your favorite language to MongoDB Compass
MongoDB
 
Python Programming Basics for begginners
Python Programming Basics for begginnersPython Programming Basics for begginners
Python Programming Basics for begginners
Abishek Purushothaman
 
Pointers,virtual functions and polymorphism cpp
Pointers,virtual functions and polymorphism cppPointers,virtual functions and polymorphism cpp
Pointers,virtual functions and polymorphism cpp
rajshreemuthiah
 
Virtual function
Virtual functionVirtual function
Virtual function
Burhan Ahmed
 
Shapeless- Generic programming for Scala
Shapeless- Generic programming for ScalaShapeless- Generic programming for Scala
Shapeless- Generic programming for Scala
Knoldus Inc.
 
3 Function Overloading
3 Function Overloading3 Function Overloading
3 Function Overloading
Praveen M Jigajinni
 
Effective Scala (SoftShake 2013)
Effective Scala (SoftShake 2013)Effective Scala (SoftShake 2013)
Effective Scala (SoftShake 2013)
mircodotta
 
Type Checking JavaScript
Type Checking JavaScriptType Checking JavaScript
Type Checking JavaScript
Pascal-Louis Perez
 
Back to the Future with TypeScript
Back to the Future with TypeScriptBack to the Future with TypeScript
Back to the Future with TypeScript
Aleš Najmann
 
Protocols with Associated Types, and How They Got That Way
Protocols with Associated Types, and How They Got That WayProtocols with Associated Types, and How They Got That Way
Protocols with Associated Types, and How They Got That Way
Alexis Gallagher
 
Storage class in C Language
Storage class in C LanguageStorage class in C Language
Storage class in C Language
Nitesh Kumar Pandey
 
The JavaScript Programming Language
The JavaScript Programming LanguageThe JavaScript Programming Language
The JavaScript Programming Language
Raghavan Mohan
 
Swift Tutorial Part 1. The Complete Guide For Swift Programming Language
Swift Tutorial Part 1. The Complete Guide For Swift Programming LanguageSwift Tutorial Part 1. The Complete Guide For Swift Programming Language
Swift Tutorial Part 1. The Complete Guide For Swift Programming Language
Hossam Ghareeb
 
Working with Cocoa and Objective-C
Working with Cocoa and Objective-CWorking with Cocoa and Objective-C
Working with Cocoa and Objective-C
Kazunobu Tasaka
 
Swift, a quick overview
Swift, a quick overviewSwift, a quick overview
Swift, a quick overview
Julian Król
 
Why Java Sucks and C# Rocks (Final)
Why Java Sucks and C# Rocks (Final)Why Java Sucks and C# Rocks (Final)
Why Java Sucks and C# Rocks (Final)
jeffz
 
Introduction to Dart
Introduction to DartIntroduction to Dart
Introduction to Dart
RameshNair6
 
PHP 8: Process & Fixing Insanity
PHP 8: Process & Fixing InsanityPHP 8: Process & Fixing Insanity
PHP 8: Process & Fixing Insanity
GeorgePeterBanyard
 
devLink - What's New in C# 4?
devLink - What's New in C# 4?devLink - What's New in C# 4?
devLink - What's New in C# 4?
Kevin Pilch
 
MongoDB.local Berlin: How to add your favorite language to MongoDB Compass
MongoDB.local Berlin: How to add your favorite language to MongoDB CompassMongoDB.local Berlin: How to add your favorite language to MongoDB Compass
MongoDB.local Berlin: How to add your favorite language to MongoDB Compass
MongoDB
 
Python Programming Basics for begginners
Python Programming Basics for begginnersPython Programming Basics for begginners
Python Programming Basics for begginners
Abishek Purushothaman
 
Pointers,virtual functions and polymorphism cpp
Pointers,virtual functions and polymorphism cppPointers,virtual functions and polymorphism cpp
Pointers,virtual functions and polymorphism cpp
rajshreemuthiah
 
Shapeless- Generic programming for Scala
Shapeless- Generic programming for ScalaShapeless- Generic programming for Scala
Shapeless- Generic programming for Scala
Knoldus Inc.
 
Effective Scala (SoftShake 2013)
Effective Scala (SoftShake 2013)Effective Scala (SoftShake 2013)
Effective Scala (SoftShake 2013)
mircodotta
 
Back to the Future with TypeScript
Back to the Future with TypeScriptBack to the Future with TypeScript
Back to the Future with TypeScript
Aleš Najmann
 
Protocols with Associated Types, and How They Got That Way
Protocols with Associated Types, and How They Got That WayProtocols with Associated Types, and How They Got That Way
Protocols with Associated Types, and How They Got That Way
Alexis Gallagher
 
The JavaScript Programming Language
The JavaScript Programming LanguageThe JavaScript Programming Language
The JavaScript Programming Language
Raghavan Mohan
 

Viewers also liked (6)

Html font tag in Hindi
Html font tag in Hindi Html font tag in Hindi
Html font tag in Hindi
Vipin sharma
 
बेसिक जावा प्रोग्रामिंग हिंदी में
बेसिक जावा प्रोग्रामिंग हिंदी में बेसिक जावा प्रोग्रामिंग हिंदी में
बेसिक जावा प्रोग्रामिंग हिंदी में
Chand Rook
 
Tags in html
Tags in htmlTags in html
Tags in html
Balakumaran Arunachalam
 
C language in hindi (cलेग्वेज इन हिंदी )
C language  in hindi (cलेग्वेज इन हिंदी )C language  in hindi (cलेग्वेज इन हिंदी )
C language in hindi (cलेग्वेज इन हिंदी )
Chand Rook
 
Html Ppt
Html PptHtml Ppt
Html Ppt
vijayanit
 
INTRODUCTION TO C PROGRAMMING
INTRODUCTION TO C PROGRAMMINGINTRODUCTION TO C PROGRAMMING
INTRODUCTION TO C PROGRAMMING
Abhishek Dwivedi
 
Html font tag in Hindi
Html font tag in Hindi Html font tag in Hindi
Html font tag in Hindi
Vipin sharma
 
बेसिक जावा प्रोग्रामिंग हिंदी में
बेसिक जावा प्रोग्रामिंग हिंदी में बेसिक जावा प्रोग्रामिंग हिंदी में
बेसिक जावा प्रोग्रामिंग हिंदी में
Chand Rook
 
C language in hindi (cलेग्वेज इन हिंदी )
C language  in hindi (cलेग्वेज इन हिंदी )C language  in hindi (cलेग्वेज इन हिंदी )
C language in hindi (cलेग्वेज इन हिंदी )
Chand Rook
 
INTRODUCTION TO C PROGRAMMING
INTRODUCTION TO C PROGRAMMINGINTRODUCTION TO C PROGRAMMING
INTRODUCTION TO C PROGRAMMING
Abhishek Dwivedi
 
Ad

Similar to JavaScript: The Language (20)

Awesomeness of JavaScript…almost
Awesomeness of JavaScript…almostAwesomeness of JavaScript…almost
Awesomeness of JavaScript…almost
Quinton Sheppard
 
JavaScript Primer
JavaScript PrimerJavaScript Primer
JavaScript Primer
Daniel Cousineau
 
JavaScript: Patterns, Part 1
JavaScript: Patterns, Part  1JavaScript: Patterns, Part  1
JavaScript: Patterns, Part 1
Chris Farrell
 
Object oriented java script
Object oriented java scriptObject oriented java script
Object oriented java script
vivek p s
 
Intermediate JavaScript
Intermediate JavaScriptIntermediate JavaScript
Intermediate JavaScript
☆ Milan Adamovsky ☆
 
Js in-ten-minutes
Js in-ten-minutesJs in-ten-minutes
Js in-ten-minutes
Phong Vân
 
The JavaScript Programming Primer
The JavaScript  Programming PrimerThe JavaScript  Programming Primer
The JavaScript Programming Primer
Mike Wilcox
 
All of javascript
All of javascriptAll of javascript
All of javascript
Togakangaroo
 
JavaScript Core
JavaScript CoreJavaScript Core
JavaScript Core
François Sarradin
 
Lecture 4- Javascript Function presentation
Lecture 4- Javascript Function presentationLecture 4- Javascript Function presentation
Lecture 4- Javascript Function presentation
GomathiUdai
 
Javascript tid-bits
Javascript tid-bitsJavascript tid-bits
Javascript tid-bits
David Atchley
 
JavaScript Neednt Hurt - JavaBin talk
JavaScript Neednt Hurt - JavaBin talkJavaScript Neednt Hurt - JavaBin talk
JavaScript Neednt Hurt - JavaBin talk
Thomas Kjeldahl Nilsson
 
JavaScript - An Introduction
JavaScript - An IntroductionJavaScript - An Introduction
JavaScript - An Introduction
Manvendra Singh
 
Rediscovering JavaScript: The Language Behind The Libraries
Rediscovering JavaScript: The Language Behind The LibrariesRediscovering JavaScript: The Language Behind The Libraries
Rediscovering JavaScript: The Language Behind The Libraries
Simon Willison
 
Intro to Javascript
Intro to JavascriptIntro to Javascript
Intro to Javascript
Anjan Banda
 
Object Oriented JavaScript
Object Oriented JavaScriptObject Oriented JavaScript
Object Oriented JavaScript
Donald Sipe
 
The JavaScript Programming Language
The JavaScript Programming LanguageThe JavaScript Programming Language
The JavaScript Programming Language
Mohammed Irfan Shaikh
 
Javascriptinobject orientedway-090512225827-phpapp02
Javascriptinobject orientedway-090512225827-phpapp02Javascriptinobject orientedway-090512225827-phpapp02
Javascriptinobject orientedway-090512225827-phpapp02
Sopheak Sem
 
Exciting JavaScript - Part I
Exciting JavaScript - Part IExciting JavaScript - Part I
Exciting JavaScript - Part I
Eugene Lazutkin
 
Fii Practic Frontend - BeeNear - laborator3
Fii Practic Frontend - BeeNear - laborator3Fii Practic Frontend - BeeNear - laborator3
Fii Practic Frontend - BeeNear - laborator3
BeeNear
 
Awesomeness of JavaScript…almost
Awesomeness of JavaScript…almostAwesomeness of JavaScript…almost
Awesomeness of JavaScript…almost
Quinton Sheppard
 
JavaScript: Patterns, Part 1
JavaScript: Patterns, Part  1JavaScript: Patterns, Part  1
JavaScript: Patterns, Part 1
Chris Farrell
 
Object oriented java script
Object oriented java scriptObject oriented java script
Object oriented java script
vivek p s
 
Js in-ten-minutes
Js in-ten-minutesJs in-ten-minutes
Js in-ten-minutes
Phong Vân
 
The JavaScript Programming Primer
The JavaScript  Programming PrimerThe JavaScript  Programming Primer
The JavaScript Programming Primer
Mike Wilcox
 
Lecture 4- Javascript Function presentation
Lecture 4- Javascript Function presentationLecture 4- Javascript Function presentation
Lecture 4- Javascript Function presentation
GomathiUdai
 
JavaScript - An Introduction
JavaScript - An IntroductionJavaScript - An Introduction
JavaScript - An Introduction
Manvendra Singh
 
Rediscovering JavaScript: The Language Behind The Libraries
Rediscovering JavaScript: The Language Behind The LibrariesRediscovering JavaScript: The Language Behind The Libraries
Rediscovering JavaScript: The Language Behind The Libraries
Simon Willison
 
Intro to Javascript
Intro to JavascriptIntro to Javascript
Intro to Javascript
Anjan Banda
 
Object Oriented JavaScript
Object Oriented JavaScriptObject Oriented JavaScript
Object Oriented JavaScript
Donald Sipe
 
Javascriptinobject orientedway-090512225827-phpapp02
Javascriptinobject orientedway-090512225827-phpapp02Javascriptinobject orientedway-090512225827-phpapp02
Javascriptinobject orientedway-090512225827-phpapp02
Sopheak Sem
 
Exciting JavaScript - Part I
Exciting JavaScript - Part IExciting JavaScript - Part I
Exciting JavaScript - Part I
Eugene Lazutkin
 
Fii Practic Frontend - BeeNear - laborator3
Fii Practic Frontend - BeeNear - laborator3Fii Practic Frontend - BeeNear - laborator3
Fii Practic Frontend - BeeNear - laborator3
BeeNear
 
Ad

More from Engage Software (14)

The Importance of UX in Association Website Design
The Importance of UX in Association Website Design The Importance of UX in Association Website Design
The Importance of UX in Association Website Design
Engage Software
 
Millennial Engagement Strategies for Associations
Millennial Engagement Strategies for AssociationsMillennial Engagement Strategies for Associations
Millennial Engagement Strategies for Associations
Engage Software
 
DNNcon 2016: Are There Security Flaws in Your DNN Modules?
DNNcon 2016: Are There Security Flaws in Your DNN Modules?DNNcon 2016: Are There Security Flaws in Your DNN Modules?
DNNcon 2016: Are There Security Flaws in Your DNN Modules?
Engage Software
 
Analytics In, Analytics Out: Using Google Analytics to Guide and Grade Web Pr...
Analytics In, Analytics Out: Using Google Analytics to Guide and Grade Web Pr...Analytics In, Analytics Out: Using Google Analytics to Guide and Grade Web Pr...
Analytics In, Analytics Out: Using Google Analytics to Guide and Grade Web Pr...
Engage Software
 
Enterprise Social Networking
Enterprise Social NetworkingEnterprise Social Networking
Enterprise Social Networking
Engage Software
 
Creating URL Providers for your Custom Extensions
Creating URL Providers for your Custom ExtensionsCreating URL Providers for your Custom Extensions
Creating URL Providers for your Custom Extensions
Engage Software
 
Responsive Views with Knockout
Responsive Views with KnockoutResponsive Views with Knockout
Responsive Views with Knockout
Engage Software
 
Packaging DNN extensions
Packaging DNN extensionsPackaging DNN extensions
Packaging DNN extensions
Engage Software
 
Considerations with Writing JavaScript in your DotNetNuke site
Considerations with Writing JavaScript in your DotNetNuke siteConsiderations with Writing JavaScript in your DotNetNuke site
Considerations with Writing JavaScript in your DotNetNuke site
Engage Software
 
Building A Membership Provider For DotNetNuke 4.X.X
Building A Membership Provider For DotNetNuke 4.X.XBuilding A Membership Provider For DotNetNuke 4.X.X
Building A Membership Provider For DotNetNuke 4.X.X
Engage Software
 
Building DotNetNuke Modules
Building DotNetNuke ModulesBuilding DotNetNuke Modules
Building DotNetNuke Modules
Engage Software
 
DotNetNuke In An Hour
DotNetNuke In An HourDotNetNuke In An Hour
DotNetNuke In An Hour
Engage Software
 
The Right Way To Install Upgrade Dnn
The Right Way To Install Upgrade DnnThe Right Way To Install Upgrade Dnn
The Right Way To Install Upgrade Dnn
Engage Software
 
What’s New In DotNetNuke 5 (Cambrian)
What’s New In DotNetNuke 5 (Cambrian)What’s New In DotNetNuke 5 (Cambrian)
What’s New In DotNetNuke 5 (Cambrian)
Engage Software
 
The Importance of UX in Association Website Design
The Importance of UX in Association Website Design The Importance of UX in Association Website Design
The Importance of UX in Association Website Design
Engage Software
 
Millennial Engagement Strategies for Associations
Millennial Engagement Strategies for AssociationsMillennial Engagement Strategies for Associations
Millennial Engagement Strategies for Associations
Engage Software
 
DNNcon 2016: Are There Security Flaws in Your DNN Modules?
DNNcon 2016: Are There Security Flaws in Your DNN Modules?DNNcon 2016: Are There Security Flaws in Your DNN Modules?
DNNcon 2016: Are There Security Flaws in Your DNN Modules?
Engage Software
 
Analytics In, Analytics Out: Using Google Analytics to Guide and Grade Web Pr...
Analytics In, Analytics Out: Using Google Analytics to Guide and Grade Web Pr...Analytics In, Analytics Out: Using Google Analytics to Guide and Grade Web Pr...
Analytics In, Analytics Out: Using Google Analytics to Guide and Grade Web Pr...
Engage Software
 
Enterprise Social Networking
Enterprise Social NetworkingEnterprise Social Networking
Enterprise Social Networking
Engage Software
 
Creating URL Providers for your Custom Extensions
Creating URL Providers for your Custom ExtensionsCreating URL Providers for your Custom Extensions
Creating URL Providers for your Custom Extensions
Engage Software
 
Responsive Views with Knockout
Responsive Views with KnockoutResponsive Views with Knockout
Responsive Views with Knockout
Engage Software
 
Packaging DNN extensions
Packaging DNN extensionsPackaging DNN extensions
Packaging DNN extensions
Engage Software
 
Considerations with Writing JavaScript in your DotNetNuke site
Considerations with Writing JavaScript in your DotNetNuke siteConsiderations with Writing JavaScript in your DotNetNuke site
Considerations with Writing JavaScript in your DotNetNuke site
Engage Software
 
Building A Membership Provider For DotNetNuke 4.X.X
Building A Membership Provider For DotNetNuke 4.X.XBuilding A Membership Provider For DotNetNuke 4.X.X
Building A Membership Provider For DotNetNuke 4.X.X
Engage Software
 
Building DotNetNuke Modules
Building DotNetNuke ModulesBuilding DotNetNuke Modules
Building DotNetNuke Modules
Engage Software
 
The Right Way To Install Upgrade Dnn
The Right Way To Install Upgrade DnnThe Right Way To Install Upgrade Dnn
The Right Way To Install Upgrade Dnn
Engage Software
 
What’s New In DotNetNuke 5 (Cambrian)
What’s New In DotNetNuke 5 (Cambrian)What’s New In DotNetNuke 5 (Cambrian)
What’s New In DotNetNuke 5 (Cambrian)
Engage Software
 

Recently uploaded (20)

Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Impelsys Inc.
 
Trends Artificial Intelligence - Mary Meeker
Trends Artificial Intelligence - Mary MeekerTrends Artificial Intelligence - Mary Meeker
Trends Artificial Intelligence - Mary Meeker
Clive Dickens
 
If You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FMEIf You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FME
Safe Software
 
Edge-banding-machines-edgeteq-s-200-en-.pdf
Edge-banding-machines-edgeteq-s-200-en-.pdfEdge-banding-machines-edgeteq-s-200-en-.pdf
Edge-banding-machines-edgeteq-s-200-en-.pdf
AmirStern2
 
No-Code Workflows for CAD & 3D Data: Scaling AI-Driven Infrastructure
No-Code Workflows for CAD & 3D Data: Scaling AI-Driven InfrastructureNo-Code Workflows for CAD & 3D Data: Scaling AI-Driven Infrastructure
No-Code Workflows for CAD & 3D Data: Scaling AI-Driven Infrastructure
Safe Software
 
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
NTT DATA Technology & Innovation
 
Floods in Valencia: Two FME-Powered Stories of Data Resilience
Floods in Valencia: Two FME-Powered Stories of Data ResilienceFloods in Valencia: Two FME-Powered Stories of Data Resilience
Floods in Valencia: Two FME-Powered Stories of Data Resilience
Safe Software
 
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc Webinar - 2025 Global Privacy SurveyTrustArc Webinar - 2025 Global Privacy Survey
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc
 
Secure Access with Azure Active Directory
Secure Access with Azure Active DirectorySecure Access with Azure Active Directory
Secure Access with Azure Active Directory
VICTOR MAESTRE RAMIREZ
 
Introduction to Internet of things .ppt.
Introduction to Internet of things .ppt.Introduction to Internet of things .ppt.
Introduction to Internet of things .ppt.
hok12341073
 
AI Agents in Logistics and Supply Chain Applications Benefits and Implementation
AI Agents in Logistics and Supply Chain Applications Benefits and ImplementationAI Agents in Logistics and Supply Chain Applications Benefits and Implementation
AI Agents in Logistics and Supply Chain Applications Benefits and Implementation
Christine Shepherd
 
Oracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI FoundationsOracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI Foundations
VICTOR MAESTRE RAMIREZ
 
Introduction to Typescript - GDG On Campus EUE
Introduction to Typescript - GDG On Campus EUEIntroduction to Typescript - GDG On Campus EUE
Introduction to Typescript - GDG On Campus EUE
Google Developer Group On Campus European Universities in Egypt
 
TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025
Suyash Joshi
 
Precisely Demo Showcase: Powering ServiceNow Discovery with Precisely Ironstr...
Precisely Demo Showcase: Powering ServiceNow Discovery with Precisely Ironstr...Precisely Demo Showcase: Powering ServiceNow Discovery with Precisely Ironstr...
Precisely Demo Showcase: Powering ServiceNow Discovery with Precisely Ironstr...
Precisely
 
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdfHow Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
Rejig Digital
 
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Shashikant Jagtap
 
Ben Blair - Operating Safely in a Vibe Coding World
Ben Blair - Operating Safely in a Vibe Coding WorldBen Blair - Operating Safely in a Vibe Coding World
Ben Blair - Operating Safely in a Vibe Coding World
AWS Chicago
 
How to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptxHow to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOMEstablish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Anchore
 
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Impelsys Inc.
 
Trends Artificial Intelligence - Mary Meeker
Trends Artificial Intelligence - Mary MeekerTrends Artificial Intelligence - Mary Meeker
Trends Artificial Intelligence - Mary Meeker
Clive Dickens
 
If You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FMEIf You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FME
Safe Software
 
Edge-banding-machines-edgeteq-s-200-en-.pdf
Edge-banding-machines-edgeteq-s-200-en-.pdfEdge-banding-machines-edgeteq-s-200-en-.pdf
Edge-banding-machines-edgeteq-s-200-en-.pdf
AmirStern2
 
No-Code Workflows for CAD & 3D Data: Scaling AI-Driven Infrastructure
No-Code Workflows for CAD & 3D Data: Scaling AI-Driven InfrastructureNo-Code Workflows for CAD & 3D Data: Scaling AI-Driven Infrastructure
No-Code Workflows for CAD & 3D Data: Scaling AI-Driven Infrastructure
Safe Software
 
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
NTT DATA Technology & Innovation
 
Floods in Valencia: Two FME-Powered Stories of Data Resilience
Floods in Valencia: Two FME-Powered Stories of Data ResilienceFloods in Valencia: Two FME-Powered Stories of Data Resilience
Floods in Valencia: Two FME-Powered Stories of Data Resilience
Safe Software
 
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc Webinar - 2025 Global Privacy SurveyTrustArc Webinar - 2025 Global Privacy Survey
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc
 
Secure Access with Azure Active Directory
Secure Access with Azure Active DirectorySecure Access with Azure Active Directory
Secure Access with Azure Active Directory
VICTOR MAESTRE RAMIREZ
 
Introduction to Internet of things .ppt.
Introduction to Internet of things .ppt.Introduction to Internet of things .ppt.
Introduction to Internet of things .ppt.
hok12341073
 
AI Agents in Logistics and Supply Chain Applications Benefits and Implementation
AI Agents in Logistics and Supply Chain Applications Benefits and ImplementationAI Agents in Logistics and Supply Chain Applications Benefits and Implementation
AI Agents in Logistics and Supply Chain Applications Benefits and Implementation
Christine Shepherd
 
Oracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI FoundationsOracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI Foundations
VICTOR MAESTRE RAMIREZ
 
TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025
Suyash Joshi
 
Precisely Demo Showcase: Powering ServiceNow Discovery with Precisely Ironstr...
Precisely Demo Showcase: Powering ServiceNow Discovery with Precisely Ironstr...Precisely Demo Showcase: Powering ServiceNow Discovery with Precisely Ironstr...
Precisely Demo Showcase: Powering ServiceNow Discovery with Precisely Ironstr...
Precisely
 
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdfHow Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
Rejig Digital
 
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Shashikant Jagtap
 
Ben Blair - Operating Safely in a Vibe Coding World
Ben Blair - Operating Safely in a Vibe Coding WorldBen Blair - Operating Safely in a Vibe Coding World
Ben Blair - Operating Safely in a Vibe Coding World
AWS Chicago
 
How to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptxHow to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOMEstablish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Anchore
 

JavaScript: The Language

  • 1. Fundamental JavaScript: The Language Presented by Brian Dukes
  • 2. Where are we going? Feature Overview Syntax Objects Functions Inheritance Miscellaneous
  • 3. Feature Overview 1st Class Functions Loose Typing Dynamic Objects Prototypal Inheritance Global Variables
  • 4. Where are we? Feature Overview Syntax Objects Functions Inheritance Miscellaneous
  • 5. Syntax: Primitive Types Number 64-bit floating, &quot; double &quot; String Surrounded by single or double quotes Boolean true or false Objects Key/value pairs Arrays Indexed collection Functions Callable code
  • 6. Syntax: Truthy & Falsy Values Falsy values: false null undefined '' 0 NaN Truthy values: Everything else true , 'false' , {}
  • 7. Syntax: Statements & Operators var if switch while for for in do while try throw return break with ternary ( ? : ) typeof || && == & === != & !== + !
  • 8. Where are we? Feature Overview Syntax Objects Functions Inheritance Miscellaneous
  • 9. Objects: Literals JSON (plus functions) Name/value pairs Name is any string Quotes are optional for legal name Value can be any JavaScript value: Other objects Functions Arrays
  • 10. Objects: Setting & Getting var flight = {     airline: &quot;Oceanic&quot;,     number:  815 }; alert(flight.airline); alert(flight.equipment); // undefined flight.equipment.status // throw &quot;TypeError&quot; flight.equipment = {     model: 'Boeing 777' }; flight['flight-status'] = 'overdue'; alert(flight[&quot;flight-status&quot;]);
  • 11. Where are we? Feature Overview Syntax Objects Functions Inheritance Miscellaneous
  • 12. Functions: Definition Functions are objects Functions have a prototype Functions can have properties Functions can have methods Functions can be passed as arguments to functions Functions can be returned from functions Functions can be invoked
  • 13. Functions: Closure Functions have access to outer variables this & arguments are different for each function   var i; for (i = 0; i < 10; i++) {     setTimeout(function () {         console.log(i*i);     }, i); }  
  • 14. Functions: Scope Does not have block scope Unlike every other language with C style syntax Function scope function outer () {     for (var i = 0; i < 10; i++) {         var double = i+i;         $link.click(function () {              alert(double)          });     } } 
  • 15. Functions: Callbacks Functions can be passed to other functions   makeAjaxCall(function (result) {     alert(result); }); 
  • 16. Functions: Module Pattern Call an anonymous function after declaring it ( IIFE ) Keeps inner values from being accessible outside of the function   (function () {      var x = 1; }());
  • 17. Where are we? Feature Overview Syntax Objects Functions Inheritance Miscellaneous
  • 18. Inheritance: Pseudoclassical new operator Function names are capitalized, by convention Lots of downfalls
  • 19. Inheritance: Prototype All objects has a prototype property When retrieving properties, any property not on the object is retrieved from its prototype If the property isn't on the prototype, its prototype is checked, etc.
  • 20. Where are we? Feature Overview Syntax Objects Functions Inheritance Miscellaneous
  • 21. Miscellaneous: Arrays Literal notation: [true, 1, &quot;string&quot;, {}] length property Not bounded Use push method to add to the end Is a weird object, not a &quot;real&quot; array
  • 22. Miscellaneous: Regular Expressions Pattern Matching Literal notation: /pattern/options
  • 23. Resources JavaScript Weekly - http://javascriptweekly.com/ JSLint - http://www.jslint.com/ JSLint.VS2010 - http://bit.ly/JSLint-VS2010 jsFiddle - http://jsfiddle.net/ MDC -  https://developer.mozilla.org This - http://www.slideshare.net/EngageSoftware/

Editor's Notes

  • #8: for in enumerates all properties in prototype chain   + is for addition and concatenation (make sure both are numbers if you want addition) + and ! are also for coercion
  • #14: Image Carousel example
  • #17: vv