Tyypin muuntaminen loogiseksi JavaScriptissä

Tutkikaamme nyt muiden tietotyyppien muuntamista loogiseksi. Tällainen muunnos toteutetaan Boolean-funktiolla. Seuraavat arvot antavat loogiseksi tyypiksi muunnettaessa false:

javascriptconsole.log(Boolean(0));          // false
console.log(Boolean(-0));         // false
console.log(Boolean(+0));         // false
console.log(Boolean(null));       // false
console.log(Boolean(false));      // false
console.log(Boolean(NaN));        // false
console.log(Boolean(undefined));  // false
console.log(Boolean(''));         // false

Kaikki muut arvot JavaScriptissä (muissa kielissä ei aina) antavat true. Tässä on arvoja, jotka muuntuvat true:ksi, mutta saattavat herättää epäilyksiä:

javascriptconsole.log(Boolean(-1));          // true
console.log(Boolean(Infinity));    // true
console.log(Boolean(-Infinity));   // true

Seuraavat arvot ovat merkkijonoja, koska ne on merkitty lainausmerkeillä, ja ne myös muuntuvat true:ksi:

javascriptconsole.log(Boolean('0'));         // true
console.log(Boolean('false'));     // true
console.log(Boolean('NaN'));       // true
console.log(Boolean('null'));      // true
console.log(Boolean('undefined')); // true
Задание 1

Määritä, mitä näytölle tulostuu ajamatta koodia:

javascriptlet test = Boolean(3);
alert(test);
Задание 2

Määritä, mitä näytölle tulostuu ajamatta koodia:

javascriptlet test = Boolean(0);
alert(test);
Задание 3

Määritä, mitä näytölle tulostuu ajamatta koodia:

javascriptlet test = Boolean(-1);
alert(test);
Задание 4

Määritä, mitä näytölle tulostuu ajamatta koodia:

javascriptlet test = Boolean(-0);
alert(test);
Задание 5

Määritä, mitä näytölle tulostuu ajamatta koodia:

javascriptlet test = Boolean(+0);
alert(test);
Задание 6

Määritä, mitä näytölle tulostuu ajamatta koodia:

javascriptlet test = Boolean('abc');
alert(test);
Задание 7

Määritä, mitä näytölle tulostuu ajamatta koodia:

javascriptlet test = Boolean('');
alert(test);
Задание 8

Määritä, mitä näytölle tulostuu ajamatta koodia:

javascriptlet test = Boolean('0');
alert(test);
Задание 9

Määritä, mitä näytölle tulostuu ajamatta koodia:

javascriptlet test = Boolean(true);
alert(test);
Задание 10

Määritä, mitä näytölle tulostuu ajamatta koodia:

javascriptlet test = Boolean(false);
alert(test);
Задание 11

Määritä, mitä näytölle tulostuu ajamatta koodia:

javascriptlet test = Boolean('true');
alert(test);
Задание 12

Määritä, mitä näytölle tulostuu ajamatta koodia:

javascriptlet test = Boolean('false');
alert(test);
Задание 13

Määritä, mitä näytölle tulostuu ajamatta koodia:

javascriptlet test = Boolean(null);
alert(test);
Задание 14

Määritä, mitä näytölle tulostuu ajamatta koodia:

javascriptlet test = Boolean('null');
alert(test);
Задание 15

Määritä, mitä näytölle tulostuu ajamatta koodia:

javascriptlet test = Boolean(undefined);
alert(test);
Задание 16

Määritä, mitä näytölle tulostuu ajamatta koodia:

javascriptlet test = Boolean('undefined');
alert(test);
Задание 17

Määritä, mitä näytölle tulostuu ajamatta koodia:

javascriptlet test = Boolean(NaN);
alert(test);
Задание 18

Määritä, mitä näytölle tulostuu ajamatta koodia:

javascriptlet test = Boolean('NaN');
alert(test);
Задание 19

Määritä, mitä näytölle tulostuu ajamatta koodia:

javascriptlet test = Boolean(3 * 'abc');
alert(test);
Задание 20

Määritä, mitä näytölle tulostuu ajamatta koodia:

javascriptlet test = Boolean(Infinity);
alert(test);
Задание 21

Määritä, mitä näytölle tulostuu ajamatta koodia:

javascriptlet test = Boolean(1 / 0);
alert(test);