JavaScript - At a glance
Tags: javascript, beginners
Published: 2019-10-19 06:37:49

---
title: JavaScript - At a glance
published: true
description: Basic concepts of JavaScript at a glance
tags: JavaScript, beginner, JS, basic
cover_image: https://thepracticaldev.s3.amazonaws.com/i/o9eb1sel2hufr3dxgw6o.png
---

When I started learning JavaScript, I was kind of perplexed, where should I start, what should I learn first, how many concepts does JavaScript really have? Though there were a lot of articles answering those questions, I think they are a bit verbose. And I found a little hard to find the concrete key points from there. So I made a simple note which a beginner may follow and kept it concise so that one can easily extract the key points or terminologies and start researching right away. 

#### Creation history
  - Creator - Brendan Eich
  - Created at - 1995
  - Original name - LiveScript
  - Renamed - JavaScript

#### First release
  - 1996 with Netscape

#### Version history
  - 1st : 1996
  - 2nd : 1998
  - 3rd : 1999
  - 4th : Abandoned
  - 5th : 2009
  - 6th : 2015

#### Host environments
  - Web Browser
  - Adobe Acrobat
  - Adobe Photoshop
  - SVG images
  - Yahoo's Widget engine
  - Node.js
  - CouchDB
  - GNOME

#### Language type
  - Multi-paradigm
  - Dynamic
  - OOP
  - Object prototypes
  - Functional programming

#### Types
  - Number
  - String
  - Boolean
  - Object
    - Function
    - Array
  - Symbol
  - null
  - undefined

#### Variable
  - Declaration
    - var, let, const

#### Operators
  - Assignment (=)
  - Addition/Concatenation (+)
  - Substraction (-)
  - Multiplication (*)
  - Division (/)
  - Modulus (%)
  - Increment (++)
  - Decrement (--)
  - Comparison (>, <, <=, >=)
  - Equality/Not equality (===, ==, !==, !=)
  - And (&&)
  - Or (||)
  - Bitwise

#### Control structures
  - if/else
  - switch
  - for
  - while
  - do-while
  - for-in
  - for-of

#### Truthy and Falsy
  - Falsy
    - false, 0, '', NaN, null, undefined
  - Truthy
    - Everything else which are not falsy, are Truthy
 
#### Built in objects
  - Math
  - Error
  - RegEx
  - Date
  - Object
  - String
  - Number
  - Array
  - Boolean
  - JSON
  - Promise

#### Number
  - Most used APIs
    - Number.toString()
    - Number.parseInt()
    - Number.parseFloat()
    - Number.isNaN()
    - Number.isFinite()
    - Number.isInteger()
    - Number.toExponential()
    - Number.toFixed()

#### String
  - Most used APIs
    - String.prototype.length
    - String.prototype.charAt()
    - String.prototype.fromCharCode()
    - String.prototype.concat()
    - String.prototype.repeat()
    - String.prototype.search()
    - String.prototype.indexOf()
    - String.prototype.lastIndexOf()
    - String.prototype.replace()
    - String.prototype.fromCharCode()
    - String.prototype.toLowerCase()
    - String.prototype.toUpperCase()
    - String.prototype.substring()

#### Object
- Most used APIs
    - Object.assign()
    - Object.create()
    - Object.defineProperty()
    - Object.defineProperties()
    - Object.entries()
    - Object.freeze()
    - Object.hasOwnProperty()
    - Object.isPrototypeOf()
    - Object.assign()
    - Object.keys()
    - Object.getPrototypeOf()
    - Object.getOwnPropertyNames()
    - Object.getOwnPropertyDescriptor()
    - Object.getOwnPropertyDescriptors()

#### Function
- Most used APIs
    - Function.name
    - Function.prototype
    - Function.call()
    - Function.bind()
    - Function.apply()
    
#### Array
  - Most used APIs
    - Array.length
    - Array.isArray()
    - Array.prototype.pop()
    - Array.prototype.push()
    - Array.prototype.shift()
    - Array.prototype.map()
    - Array.prototype.filter()
    - Array.prototype.reduce()
    - Array.prototype.concat()
    - Array.prototype.join()
    - Array.prototype.include()
    - Array.prototype.splice()
    - Array.prototype.forEach()
    - Array.prototype.indexOf()
    - Array.prototype.find()
    - Array.prototype.findIndex()
    - Array.prototype.slice()

Those are not all concepts JavaScript has. Those are basics and you can follow them while starting with it rather than roaming here and there aimlessly. There is a lot of stuff inside there. But if you go through the above stuff and keep digging, you may understand yourself what more inside there what should study next. 
For deep dive - https://developer.mozilla.org/en-US/docs/Web/JavaScript