01/01/2021 • 3 min read
Entire JavaScript language in a table of contents
Get a bird’s-eye view of whole JavaScript in a table of contents.
Inspired by
Table of contents
- What is JavaScript?
- Kinds of JavaScript:
- Core JavaScript ( ECMAScript )
- Client Side JavaScript ( Browser )
- Server Side JavaScript ( NodeJS )
- Lexical Structure
- Character Set
- Comments:
// single line comment/* multi line comment */
- Literals
- Identifiers and Reserved Words
- Optional Semicolons
- Case Sensitivity
- Data, Values, and Variables
- Numbers ( Number )
- Text ( String )
'Single quote string'"Double quote string"`Template string using backtick`
- Boolean Values (
true,false) nullandundefined- The Global Object
- Wrapper Objects
- Immutable Primitive Values and Mutable Object References
- Type Conversions
- Variable Declaration
LetConstVar
- Variable Scope
- Global Scope
- Local Scope
- Hoisting
- Variable Shadowing
- Expressions and Operators
- Primary Expressions
- Object and Array Initializers
- Function Definition Expressions
- Property Access Expressions
- Invocation Expressions
- Object Creation Expressions
- Operator Overview
- Arithmetic Expressions
- Relational Expressions
- Logical Expressions
- Assignment Expressions
- Evaluation Expressions
- Miscellaneous Operators
- Operator Precedence Table
- Statements
- Expression Statements
- Compound and Empty Statements
- Declaration Statements
- Conditionals
- if
- else
- else if
- switch
- Loops
- while
- do while
- for
- for in
- for of
- Jumps
- break
- continue
- return
- throw
- try/catch/finally
- Miscellaneous Statements
- debugger
- Objects
- Kinds of objects:
- Native objects. Example:
Math - Host objects. Example:
window - User defined objects. Example:
{ name: 'Saabbir' }
- Native objects. Example:
- Ways to create objects:
- Using object literal syntax:
{} - Using
newkeyword - Using
Object.create()method
- Using object literal syntax:
- Querying and Setting Properties:
- Dot notation:
obj.property - Bracket notation:
obj[property]
- Dot notation:
- Kinds of object property:
- Own property
- Inherited property
- Types of object property:
- Data property
- Accessor property
- Data property attributes:
- value
- writable
- enumerable
- configurable
- Accessor property attributes:
- get
- set
- enumerable
- configurable
- Kinds of objects:
- Arrays
- Creating Arrays
- Reading and Writing Array Elements
- Sparse Arrays
- Array Length
- Adding and Deleting Array Elements
- Iterating Arrays
- Multidimensional Arrays
- Array Methods
- ECMAScript 5 Array Methods
- Array Type
- Array-Like Objects
- Strings As Arrays
- Functions
- Defining Functions
- Invoking Functions
- Function Arguments and Parameters
- Functions As Values
- Functions As Namespaces
- Closures
- Function Properties, Methods, and Constructor
- Functional Programming
- Object Oriented Programming
- Constructor Function
- new Operator
- Function prototype Property
- Inheritance in JavaScript
- Prototypal Inheritance
- class Syntax
- this Keyword
- Classes and Modules
- Classes and Prototypes
- Classes and Constructors
- Java-Style Classes in JavaScript
- Augmenting Classes
- Classes and Types
- Object-Oriented Techniques in JavaScript
- Subclasses
- Classes in ECMAScript 5
- Modules
- Pattern Matching with Regular Expressions
- Defining Regular Expressions
- String Methods for Pattern Matching
- The RegExp Object
- Documentation and References
Written by Saabbir Hossain
Sr. Software Engineer at EchoLogyx Ltd, CRO-driven Shopify Plus Developer and Optimizely Certified A/B Testing Expert based in Bangladesh.
Discussion & Comments