JavaScript-ს აქვს 7 პრიმიტიული ტიპი, და ყველაფერი სხვა (მასივები, ფუნქციები, ობიექტები) არის ობიექტი.
პრიმიტივები: , , , , , , .
JavaScript-ს აქვს 7 პრიმიტიული ტიპი, და ყველაფერი სხვა (მასივები, ფუნქციები, ობიექტები) არის ობიექტი.
პრიმიტივები: , , , , , , .
stringnumberbooleannullundefinedbigintsymboltypeof "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. პრიმიტივები immutable არიან და მნიშვნელობით იკოპირება; ობიექტები მითითებით იკოპირება.
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).
მნიშვნელობა-წინააღმდეგ-მითითების გაგება ხსნის, თუ რატომ გავლენას ახდენს საერთო ობიექტის მუტაცია "ორივე" ცვლადზე, რატომ არის {} === {} false, და რატომ უნდა დააკოპიროთ ობიექტები (spread) მათი შეცვლამდე state-ზე დამოკიდებული UI-ებში, როგორიცაა React.
IT გასაუბრების კითხვების ბიბლიოთეკა დეტალური პასუხებით — Junior-დან Senior-მდე.
შემოწირულობა