მნიშვნელობების შედარება ლოგიკურ ტიპთან JavaScript-ში
წინა მაგალითში შედარებისთვის გამოვიყენეთ
ოპერატორი ===. ამ შემთხვევაში ჩვენი ცვლადი
შედარებული იყო true-თან
როგორც მნიშვნელობით, ასევე ტიპით.
ასეთი შედარებისთვის ასევე შეიძლება გამოყენებულ იქნას
ოპერატორი ==. თუ ცვლადში test
ყოველთვის იქნება ერთ-ერთი მნიშვნელობა true
ან false, მაშინ არაფერი შეიცვლება:
javascriptlet test = true; // აქ ვწერთ ან true, ან false
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
მაგრამ თუ ცვლადში test შესაძლებელია
შევიდეს ნებისმიერი მნიშვნელობა, მაშინ ყველაფერი ბევრად
უფრო რთულდება.
ასეთ შემთხვევაში, თუ ცვლადში test
არ არის ლოგიკური მნიშვნელობა, მაშინ ეს მნიშვნელობა
თავდაპირველად გადაიყვანება ლოგიკურ ტიპში და მხოლოდ
ამის შემდეგ შედარებულ იქნება.
მაგალითად, დავუშვათ ცვლადში test
არის რიცხვი 1. ამ შემთხვევაში ის თავდაპირველად
გარდაიქმნება ლოგიკურ ტიპში, ანუ
true-ში. და მხოლოდ ამის შემდეგ შესრულდება შედარება:
javascriptlet test = 1;
if (test == true) {
console.log('+++'); // ეს შესრულდება
} else {
console.log('---');
}
მაგრამ, მაგალითად, რიცხვი 0 გარდაიქმნება
false-ში. და ჩვენი პირობა შედეგად
გამოიტანს 'არასწორია'-ს:
javascriptlet test = 0;
if (test == true) {
console.log('+++');
} else {
console.log('---'); // ეს შესრულდება
}
ფაქტობრივად, ასეთი შედარება შესაძლებელია ცხადად გადაიწეროს შემდეგი ფორმით:
javascriptlet test = 1;
if (Boolean(test) == true) {
console.log('+++');
} else {
console.log('---');
}
გაიხსენეთ და დაწერეთ, რომელი მნიშვნელობები
ლოგიკურ ტიპში გადაყვანისას გვაძლევენ
false-ს.
კოდის გაშვების გარეშე, დაადგინეთ, რა გამოიყვანს კონსოლში:
javascriptlet test = 1;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
კოდის გაშვების გარეშე, დაადგინეთ, რა გამოიყვანს კონსოლში:
javascriptlet test = 0;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
კოდის გაშვების გარეშე, დაადგინეთ, რა გამოიყვანს კონსოლში:
javascriptlet test = 1;
if (test == false) {
console.log('+++');
} else {
console.log('---');
}
კოდის გაშვების გარეშე, დაადგინეთ, რა გამოიყვანს კონსოლში:
javascriptlet test = 1;
if (test != true) {
console.log('+++');
} else {
console.log('---');
}
კოდის გაშვების გარეშე, დაადგინეთ, რა გამოიყვანს კონსოლში:
javascriptlet test = '';
if (test == false) {
console.log('+++');
} else {
console.log('---');
}
კოდის გაშვების გარეშე, დაადგინეთ, რა გამოიყვანს კონსოლში:
javascriptlet test;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
კოდის გაშვების გარეშე, დაადგინეთ, რა გამოიყვანს კონსოლში:
javascriptlet test = 3 * 'a';
if (test == true) {
console.log('+++');
} else {
console.log('---');
}