Sparround

Tiplər, dəyişənlər və müqayisə

JavaScript-də dəyişənlər let (dəyişə bilən) və const (yenidən mənimsədilə bilməyən) ilə elan olunur. var köhnəlib — istifadə etmə.

Əsas primitiv tiplər: string, number, boolean, null, undefined. Fərqi bilmək vacibdir:

  • undefined — dəyər heç vaxt mənimsədilməyib (məs. mövcud olmayan obyekt sahəsi)
  • null — dəyərin bilərəkdən boş olması

typeof operatoru tipi yoxlayır: typeof 42"number". Məşhur qəribəlik: typeof null"object" (tarixi bug).

Müqayisə: həmişə === (ciddi bərabərlik) istifadə et. == tipi avtomatik çevirir və gözlənilməz nəticələr verir: 0 == ''true, amma 0 === ''false.

Truthy/falsy: şərt yerində hər dəyər boolean-a çevrilir. Falsy dəyərlər cəmi 6-dır: false, 0, '', null, undefined, NaN. Qalan hər şey truthy-dir — o cümlədən boş massiv [] və boş obyekt {}!

Test kodunda bu, assertion səhvlərinin klassik mənbəyidir: if (results) boş massivdə də true olur — if (results.length > 0) yazmaq lazımdır.

İfadəNəticəNiyə
0 == ''true== hər ikisini number-ə çevirir
0 === ''falsetiplər fərqlidir, çevirmə yoxdur
Boolean([])trueboş massiv truthy-dir
null == undefinedtrue== üçün xüsusi qayda; === ilə false
NaN === NaNfalseNaN heç nəyə bərabər deyil — Number.isNaN() istifadə et

Template literals test kodunda hər gün lazımdır: ` Salam, ${userName}! — dinamik locator-lar və test adları üçün əsas alət: page.locator([data-id="${productId}"]) `.

📚 Mənbələr və sənədlər