Massivlər, obyektlər və destructuring
Test datası demək olar həmişə massiv və obyektlərdir. Ən vacib massiv metodları (hamısı YENİ massiv/dəyər qaytarır, orijinala toxunmur):
map— hər elementi çevir:users.map(u => u.email)filter— şərtə uyğunları seç:orders.filter(o => o.status === 'failed')find— ilk uyğun elementi tap (yoxdursaundefined)some/every— ən azı biri / hamısı şərti ödəyirmi (boolean)includes— dəyər massivdə varmısort— DİQQƏT: orijinalı dəyişir (mutasiya!) və default olaraq string kimi sıralayır:[10, 2].sort()→[10, 2]; rəqəm üçünsort((a, b) => a - b)
Destructuring — obyekt/massivdən dəyərləri bir sətirdə çıxarmaq:
const { id, email } = user;const [first, second] = rows;- Funksiya parametrində:
function login({ user, pass }) {...}— Playwright-ınasync ({ page }) => {...}sintaksisi məhz budur!
Spread (...) — kopyalama və birləşdirmə: const updated = { ...user, role: 'admin' } (user-in kopyası, role dəyişdirilmiş). Test datası variasiyaları üçün əsas pattern.
Optional chaining (?.) — dərin sahəyə təhlükəsiz çıxış: response.data?.user?.email — aradakı sahə yoxdursa xəta yox, undefined.
Kopya tələsi: const copy = original obyekt üçün kopya DEYİL — hər iki ad eyni obyektə işarə edir. Dayaz kopya: { ...original }. Dərin kopya (iç-içə obyektlər üçün): structuredClone(original). Test datasını mutasiya edən "paylaşılmış obyekt" bug-ları buradan çıxır.
📚 Mənbələr və sənədlər
- Arrayrəsmideveloper.mozilla.org
- Destructuringrəsmideveloper.mozilla.org
- Optional chaining (?.)rəsmideveloper.mozilla.org