Қиёми арзишҳо бо навъи булӣ дар 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('---');
}
Задание 1

Ба ёд оваред ва нависед, кадом арзишҳо вақте ба навъи мантиқӣ оварда мешаванд false медиҳанд.

Задание 2

Бе оғози рамз, муайян кунед, чӣ ба консоли бароред карда мешавад:

javascriptlet test = 1;
    
if (test == true) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 3

Бе оғози рамз, муайян кунед, чӣ ба консоли бароред карда мешавад:

javascriptlet test = 0;
    
if (test == true) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 4

Бе оғози рамз, муайян кунед, чӣ ба консоли бароред карда мешавад:

javascriptlet test = 1;
    
if (test == false) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 5

Бе оғози рамз, муайян кунед, чӣ ба консоли бароред карда мешавад:

javascriptlet test = 1;
    
if (test != true) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 6

Бе оғози рамз, муайян кунед, чӣ ба консоли бароред карда мешавад:

javascriptlet test = '';
    
if (test == false) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 7

Бе оғози рамз, муайян кунед, чӣ ба консоли бароред карда мешавад:

javascriptlet test;
    
if (test == true) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 8

Бе оғози рамз, муайян кунед, чӣ ба консоли бароред карда мешавад:

javascriptlet test = 3 * 'a';
    
if (test == true) {
  console.log('+++');
} else {
  console.log('---');
}