JavaScript میں 7 primitive types ہیں، اور باقی سب کچھ (arrays, functions, objects) ایک object ہے۔
Primitives: string, number, boolean, , , , ۔
JavaScript میں 7 primitive types ہیں، اور باقی سب کچھ (arrays, functions, objects) ایک object ہے۔
Primitives: string, number, boolean, , , , ۔
nullundefinedbigintsymboltypeof "hi"; // "string"
typeof 42; // "number" (both ints and floats)
typeof true; // "boolean"
typeof undefined; // "undefined"
typeof 10n; // "bigint"
typeof Symbol(); // "symbol"
typeof null; // "object" ← famous historical bug!
typeof {}; // "object"
typeof []; // "object" (arrays are objects)
typeof function(){};// "function"
1. Primitives غیر تبدیل شدہ ہیں اور قدر کے ذریعے نقل ہوتے ہیں; objects حوالہ کے ذریعے نقل ہوتے ہیں۔
let a = 5; let b = a; b++; // a is still 5 (independent copies)
let x = {n:1}; let y = x; y.n = 2; // x.n is now 2 (same object!)
2. typeof null === "object" ایک طویل المدت زبان کی خرابی ہے جو آپ کو یاد رکھنی چاہیے — null کی جانچ کے لیے، براہ راست موازنہ کریں (x === null)۔
قدر-vs-حوالہ کو سمجھنا اس بات کی وضاحت کرتا ہے کہ مشترکہ object میں تبدیلی کیوں "دونوں" متغیرات کو متاثر کرتی ہے، {} === {} کیوں false ہے، اور React جیسے state-driven UIs میں آپ objects کو تبدیل کرنے سے پہلے انہیں نقل کیوں کرتے ہیں (spread)۔