Sobes.tech
Junior

Чӣ гуна тағйирёбҳои ношенасозиш (nedeclared тағйирёбҳо)?

sobes.tech AI

Ҷавоб аз AI

Променливҳои нодоштаро (необъявленные переменные) — ин тағйирёбандаҳое мебошанд, ки дар код бе пешакӣ эълон кардан бо калидвожаҳои var, let ё const истифода мешаванд (дар JavaScript).

Дар режими қатъӣ ('use strict') дастрасӣ ба тағйирёбандаи нодоштаро ба хато дар вақти иҷро (ReferenceError) оварда мерасонад. Дар режими ғайри қатъӣ чунин тағйирёбанда автоматӣ ҳамчун глобалӣ эҷод мешавад, ки метавонад ба хатоҳои душворёфту осонтар ёфтани онҳо оварда расонад.

Масалан:

'use strict';

функсияи test() {
  x = 10; // ReferenceError: x муайян нашудааст
}

test();

Ин ҷо x эълон нашудааст, бинобар ин хато ба амал меояд.

Барои пешгирӣ кардани мушкилот, ҳамеша тағйирёбандаҳоро равшан эълон кунед:

let x = 10;

Ин беҳтаркунии хондан ва пешгирии хатоҳои вобаста ба доираи амал ва эҷоди ғайриинтизории тағйирёбандаҳои глобалӣ мебошад.