Javascript Introduction Lecture Notes
Introduction to Javascript
- Javascript is a web-based interpreted programming language.
- Used for adding interactive behavior to web pages, building web and mobile apps, creating command line tools, and game development.
- Not the same as Java, despite the similar name.
Prerequisites
- HTML and CSS knowledge is helpful but not necessary.
- You'll need a web browser (Chrome, Firefox, Safari, Opera recommended) and a text editor (Visual Studio Code, Sublime Text, Replit).
- Avoid using Internet Explorer.
Setting up Visual Studio Code
- Visit code.visualstudio.com to download.
- Install the Live Server extension for instant updates in the web browser upon saving.
Basic Setup
- Create a new folder for your project.
- Create essential files:
index.js (Javascript), index.html, and style.css.
- Use HTML skeleton code and link CSS and JS files correctly in
index.html.
Console and Output
- Use browser Developer Tools (Inspect -> Console) to view outputs.
- Use
console.log() for displaying output.
- Use
window.alert() for pop-up alerts.
Comments
- Single-line comments start with
//.
- Multi-line comments are wrapped in
/* ... */.
Variables
- Containers for storing data.
- Declaring variables:
var, let, const (prefer let for variable scope management).
- Data types include numbers, strings, and booleans.
Arithmetic Expressions
- Combination of operands and operators.
- Operators include addition (+), subtraction (-), multiplication (*), division (/), and modulus (%).
- Augmented assignment operators like
+=, -=, etc.*
User Input
- Easy way:
window.prompt().
- HTML text box method for practical applications.
Type Conversion
- Convert strings to numbers using
Number(), numbers to strings using String(), and to booleans using Boolean().
- Use
typeof to check a variable's data type.
Constants
- Variables that cannot be changed.
- Declared using
const keyword.
Javascript Math
- Intrinsic object for mathematical functions.
- Includes
Math.round(), Math.floor(), Math.ceil(), Math.pow(), Math.sqrt(), and constants like Math.PI.
Practice Programs
- Examples include creating a simple counter, random number generator, and calculating the hypotenuse using the Pythagorean theorem.
String Properties and Methods
- Use properties like
length and methods like charAt(), indexOf(), trim(), toUpperCase(), and replaceAll().
Slice and Method Chaining
slice() extracts a portion of a string.
- Method chaining allows multiple method calls on the same object in a single line.
Control Flow
- If Statements: Execute code based on conditions.
- Switch Statements: Efficiently compare a value against multiple cases.
Logical Operators
- And (&&): Both conditions must be true.
- Or (||): At least one condition must be true.
- Not (!): Inverts the boolean value.
Loops
- While Loops: Repeat code while a condition is true.
- Do While Loops: Execute code once, then repeat while a condition is true.
- For Loops: Repeat code a specific number of times.
- Break and Continue: Control loop execution.
Arrays
- Store multiple values in a single variable.
- Use methods like
push(), pop(), shift(), unshift(), length, and indexOf().
Functions
- Define reusable blocks of code.
- Can return values using
return.
- Function expressions and arrow functions as alternatives to traditional functions.
Object-Oriented Programming
- Objects: Collections of properties and methods.
- Classes and Constructors: Blueprints for creating objects.
- Inheritance: Child classes inherit from parent classes.
- Static Members: Belong to the class, not instances.
Error Handling
- Use try-catch blocks to manage errors gracefully.
throw for user-defined error handling.
Asynchronous Javascript
- Promises: Handle asynchronous operations.
- Async/Await: Syntactic sugar for working with promises.
DOM Manipulation
- Selecting Elements: Use methods like
getElementById(), getElementsByClassName(), querySelector(), etc.
- Traversing and Modifying DOM: Navigate and change elements.
Events
- Handle user interactions with event listeners and handlers.
Canvas API
- Draw shapes and text using a 2D context on a
canvas.
Games and Projects
- Examples include Stopwatch, Rock-Paper-Scissors, Tic-Tac-Toe, Snake, and Pong in Javascript.
This summary provides a comprehensive overview of the lecture on Javascript basics, covering essential concepts, tools, and programming techniques necessary for writing Javascript code.