Untitled Deck Flashcards

1
Q

GETTER AND SETTER

A

JavaScript getters and setters are special methods that control how you access and modify object properties.

We use them because:

  • Setters allow us to validate data before it’s assigned to a property, ensuring data integrity.
  • They help with encapsulation, hiding internal implementation details.
  • They let us add extra logic (like calculations or logging) when getting or setting a property.
  • Getters can create computed properties whose values are dynamically calculated.

Essentially, they give us more control over property access and modification compared to directly accessing properties.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

JavaScript дахь hoisting

A

JavaScript дахь hoisting (өргөлт) гэдэг нь хувьсагч эсвэл функцийн тодорхойлолтыг кодын гүйцэтгэлээс өмнө тухайн хүрээний (scope) дээд хэсэгт “өргөж” байршуулах үйлдэл юм. Энэ нь зөвхөн тодорхойлолт (declaration)-д хамаарна, утга оноолт (assignment) биш.

Онцлог:
- Функцын тодорхойлолт: function түлхүүр үгээр тодорхойлогдсон функцууд бүрэн өргөгддөг (тодорхойлолт болон бие хамт).
- Хувьсагчийн тодорхойлолт: var, let, const-оор тодорхойлогдсон хувьсагчид хэсэгчлэн өргөгддөг. var нь undefined болж өргөгддөг бол let/const нь “Temporal Dead Zone” (TZD)-д ордог тул тодорхойлогдохоос өмнө хандахад алдаа гарна.
- Функцын илэрхийлэл: Зөвхөн хувьсагчийн тодорхойлолт өргөгддөг, функцын бие биш.

Жишээ:

```javascript
console.log(myVar); // undefined (өргөгдсөн, гэхдээ утга оноогдоогүй)
var myVar = 5;

sayHello(); // “Сайн байна уу!” (функц бүрэн өргөгдсөн)
function sayHello() {
console.log(“Сайн байна уу!”);
}

console.log(funcExpr); // undefined (зөвхөн хувьсагч өргөгдсөн)
var funcExpr = function() {
console.log(“Функцын илэрхийлэл”);
};
~~~

Яагаад ийм байдаг вэ?
JavaScript-ийн хөрвүүлэгч кодыг гүйцэтгэхээс өмнө тодорхойлолтыг уншиж, хүрээнд байршуулдаг. Энэ нь кодын уян хатан байдлыг хангадаг ч let/const ашиглан TZD-ийн тусламжтайгаар алдааг багасгахыг зөвлөдөг.

Эндээс hoisting-ийн гол санаа нь кодын тодорхойлолтыг дээш “зөөж” гүйцэтгэх явдал юм, гэхдээ var-аас илүү let/const ашиглах нь илүү аюулгүй бөгөөд орчин үеийн практикт нийцдэг.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q
A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly