Javascript variables

Created By: chatGPT

In JavaScript, a variable is used to store data values. You can define a variable using var, let, or const. Each keyword has its own scope and hoisting behavior, which is crucial for understanding variable behavior in your code.
// Using var
var name = 'Alice';

// Using let
let age = 25;

// Using const
const pi = 3.14;
Var is function-scoped and can be redeclared and updated. It is hoisted to the top of the function, meaning it can be used before the declaration.
function example() {
    console.log(x); // undefined
    var x = 5;
    console.log(x); // 5
}
Let is block-scoped and cannot be redeclared in the same block, but it can be updated. This behavior prevents issues related to variable shadowing.
if (true) {
    let y = 10;
    console.log(y); // 10
}
console.log(y); // ReferenceError: y is not defined
Const is also block-scoped, but it cannot be updated or redeclared. It is used for values that should remain constant throughout their lifetime.
const z = 20;
// z = 30; // TypeError: Assignment to constant variable.
When declaring variables, it's important to use descriptive names to improve code readability. Avoid using overly simplistic names like a or temp. For example, use userAge instead of just age.
let userAge = 30;
let userName = 'Bob';
You can also define multiple variables in one statement by separating them with commas. However, it's considered good practice to declare each variable on a new line for better clarity.
let x = 1, y = 2, z = 3;

// Better approach
let a = 1;
let b = 2;
let c = 3;
Finally, it's a best practice to initialize your variables when declaring them. This practice helps avoid potential undefined values later in your code.
let score = 0;
// Now score is defined as 0, not undefined.
Introduction And SetupVariablesData TypesMethodsControl FlowFunctionsOperatorsData StructuresCommentsSyntaxEvent HandlingError HandlingPrimitive Data TypesReference Data TypesConstLetVarStringNumberBooleanNullUndefinedSymbolObjectArrayTemplate LiteralsArrow FunctionsRegular FunctionsCallApplyBindAsync FunctionsPromisesCallback FunctionsIf StatementElse StatementSwitch StatementFor LoopWhile LoopDo While LoopFor EachBreak StatementContinue StatementTry CatchThrowFinallyScopeClosureThis KeywordPrototypesInheritanceConstructor FunctionsClass SyntaxStatic MethodsGettersSettersSpread OperatorRest OperatorDestructuring AssignmentMap MethodFilter MethodReduce MethodEvent ListenersDom ManipulationInnerHTMLQuerySelectorAddEventListenerPreventDefaultStopPropagationTimeoutsIntervalsJsonLocal StorageSession StorageRegexMath ObjectDate ObjectString MethodsArray MethodsObject MethodsDeep CloningShallow CloningCallback HellPromise ChainingAsync AwaitMap Vs ForEachFilter Vs ReduceNullish Coalescing OperatorOptional ChainingTypeof OperatorInstanceof OperatorStrict EqualityLoose Equality