JavaScript

JavaScript Foundations

You can access the original article from this page.

Onur Dayıbaşı
Published in
3 min readNov 7, 2023

--

JavaScript Foundations is a critical pillar in the field of web development and programming. This crucial course digs into the fundamental ideas and concepts underlying the JavaScript programming language, a flexible and widely used computer language for developing interactive online applications.

We’ll look at variables, data types, operators, functions, type conversions, and other important parts of JavaScript in this portion of your ebook. This fundamental information is meant to help you realize the heart of JavaScript and set the scene for your journey into the web development world, whether you’re a newbie hoping to grasp the basics or an experienced developer wishing to reaffirm your comprehension.

Content Index

Variables

1.1 What is the purpose of the var variable?

1.2 What is the purpose of the let/const variable?

1.3 Example Code

Data Types

2.1 Primitive Characteristics

2.2 Types of Objects

Operators

3.1 Types of Operators

3.1.1 Numerical Operators

3.1.2 Increment/Decrement Operators

3.1.3 Comparison Operators

3.1.4 Logical and Bitwise Operators

3.1.5 Assignment Operators

3.1.6 Bitwise Shift Operators

3.1.7 Conditional Operators

3.1.8 Functional Programming Operators

3.1.9 Unary Operators

3.2 Operator Precedence

Functions

4.1 Function Types

4.1.1 Named vs Anonymous Functions

4.1.2 Pure vs Constructor vs IIFE vs High Order Functions

4.1.3 Sync, Async vs Generator Functions

4.2 Arrow Functions ?

4.2.1 Arrow Function Extras

Type Conversions and Default Parameters

5.1 Falsy and Truthy

5.2 Type Coercion, Conversion and Double exclamation points

5.3 Default Parameters

Rest

6.1 What is Rest

6.2 What are the Advantages and Disadvantages of Rest?

6.3 How Rest Works in the Background

Spread

7.1 What is Spread

7.2 Function Call/Apply Samples

7.3 Array Use Cases

7.4 Array and Object Cloning Samples

7.5 Math Samples

Destruction Assignments

8.1 If We Examine Object Destruction Operations in Detail

8.1.1 Assigning Different Names to Destruction Variables

8.1.2 Assign Default Value

8.1.3 Destruction operation when passing Function as Value

8.1.4 Using Rest

8.2 If we examine Array Destruction Operations in detail

8.2.1 Make assignments by skipping certain indexes

8.2.2 Default Value Assignment

8.2.3 Rest

Template Literals

9.1 Types of String Definitions

9.2 Uses and Purposes of Template Literals

Enhanced Object Literals

10.1 How Do We Define Object?

10.2 What are the advantages of Enhanced Object Literals?

Loops and For..of method

11.1 How Many Different Types of Looping Methods

11.2 For, While, Do/While Loops

11.3 forEach

11.4 For…of

11.5 Recursive Functions

Module (IIFE →CJS→AMD →ES6)

12.1 What was the evolution of the Javascript Module Structure?

12.2 Pre-Modules Era?

12.3 DIY Modules Era (IIFE)

12.4 NodeJS Era (Common.JS — Sync)

12.5 Browser Module Era (AMD Require.JS — Async)

12.6 ES6 Module Era

NPM

13.1 What is NPM?

13.2 How does NPM Work?

13.3 How to use NPM?

13.3.1 Publish as step 1.0.0.

13.3.2 Step (correcting a mistake in the module) Patching as 1.0.1

13.3.3 Step (Adding new feature in module) 1.1.0 new feature

13.3.4 Step (Change module interface) 2.0.0 new breaking

13.4 What are the Differences Between Bower, Npm, Yarn?

Map/Set Data Structures

14.1 What Types of Data Does Javascript Provide?

14.2 Object was enough for us, why did we need Map type?

14.3 We had enough of arrays, why did we need Set types?

Symbol

15.1 Unique Key Generation

15.2 Making Property (Key) Private

15.2.1 Does it provide complete privacy?

15.2.2 So is there an easier way to access Symbol References? (Global Symbol Registry)

15.3 Make an Enumeration

Continue

To read full ebook pdf from link.

--

--