JavaScript контекстінде боксинг деген не?
AI-дан жауап
sobes.tech AI
JavaScript-те "боксинг" (қораптау) — бұл примитивті мәнді (мысалы, жол, сан, логикалық мән) сәйкес кіріктірілген конструктордың (мысалы, String, Number, Boolean) уақытша обьект-қаптамасына автоматты түрде түрлендіру процесі.
Бұл, егер сіз оның қасиеттері немесе әдістеріне қол жеткізсеңіз, орын алады. JavaScript уақытша қаптама обьектісін құрады, олмен операция жүргізеді, содан кейін оны жояды.
Мысалдар:
// Жол примитиві
let s = "Hello";
// length әдісіне қол жеткізу: боксинг `String` обьектіне өтеді
console.log(s.length); // 5
// toUpperCase() әдісіне қол жеткізу: боксинг `String` обьектіне өтеді
console.log(s.toUpperCase()); // HELLO
// Сан примитиві
let n = 123;
// toString() әдісіне қол жеткізу: боксинг `Number` обьектіне өтеді
console.log(n.toString()); // "123"
// Логикалық примитив
let b = true;
// valueOf() әдісіне қол жеткізу: боксинг `Boolean` обьектіне өтеді
console.log(b.valueOf()); // true
Маңыздысы — примитивтерде қасиеттер немесе әдістер болмайды. Боксинг примитивтермен жұмыс істеуді ыңғайлы етеді, объектілік синтаксисін пайдаланып операцияларды орындауға мүмкіндік береді.
Боксинг жасырын түрде орындалады. Сіз объект-қаптаманы ашық түрде жасамайсыз (бірақ new String(), new Number(), new Boolean() көмегімен жасауға болады, бірақ ол ұсынылмайды).
Примитивтер мен қаптама объектілерінің айырмашылықтары:
| Примитив | Қаптама объектісі | |
|---|---|---|
| Түрі | Жол, Сан, Логикалық, Symbol, Null, Undefined, BigInt | Сілтеме объектке |
| Өзгергіштік | Өзгермейтін | Өзгермелі |
| Салыстыру | Мән бойынша салыстыру | Сілтеме бойынша салыстыру |
| Жасау | Литерал, typeof примитивті типті көрсетеді |
new, typeof 'объект' деп көрсетеді |