JavaScript-те мән және тип теңдігі
Сіз тырнақша ішіндегі сан тырнақшасыз сол санға тең болмасын деп салыстырғыңыз келеді делік. Басқаша айтқанда, сіз салыстыру тек мән бойынша ғана емес, сонымен қатар деректер типі бойынша да болуын қалайсыз.
Ол үшін == операторының орнына
=== операторын қолдану керек. Келесі
мысалда '3' жолын және
3 санын салыстырғанда шарт жалған болады,
себебі айнымалылар мән бойынша тең болғанымен,
тип бойынша тең емес:
if ('3' === 3) {
console.log('+++');
} else {
console.log('---'); // бұл орындалады
}
Ал екі жолды '3'
салыстырғанда шарт ақиқат болады:
if ('3' === '3') {
console.log('+++'); // бұл орындалады
} else {
console.log('---');
}
Сандарды салыстырғанда да осылай:
if (3 === 3) {
console.log('+++'); // бұл орындалады
} else {
console.log('---');
}
== операторы мен === операторының
айырмашылығы дәл қашан көрінеді, қашан
мәндер бірдей, бірақ деректер типі әртүрлі болса.
Қалған жағдайларда бұл операторлар бірдей жұмыс істейді.
Мысалы, әртүрлі сандарды салыстырғанда, әрине,
'---' шығады:
if (2 === 3) {
console.log('+++');
} else {
console.log('---'); // бұл орындалады
}
Кодты істемеден, консольге не шығатынын анықтаңыз:
let test1 = '3';
let test2 = '3';
if (test1 == test2) {
console.log('+++');
} else {
console.log('---');
}
Кодты істемеден, консольге не шығатынын анықтаңыз:
let test1 = '3';
let test2 = '3';
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}
Кодты істемеден, консольге не шығатынын анықтаңыз:
let test1 = 3;
let test2 = '3';
if (test1 == test2) {
console.log('+++');
} else {
console.log('---');
}
Кодты істемеден, консольге не шығатынын анықтаңыз:
let test1 = 3;
let test2 = '3';
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}
Кодты істемеден, консольге не шығатынын анықтаңыз:
let test1 = 3;
let test2 = 3;
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}