-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcoercion.js
29 lines (23 loc) · 1.28 KB
/
coercion.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/* W JavaScript, konwersje niejawne (lub "coercion") zachodzą wtedy, gdy operator jest używany z wartościami różnych typów. JavaScript automatycznie konwertuje jedno z nich (lub oba), aby operacja mogła zostać dokonana. Oto kilka przykładów niejawnych konwersji w JavaScript:
Dodawanie stringa z liczbą: */
// konkatenacja stringa z liczbą
var result = "5" + 3; // Wynik: "53"
//Mnożenie stringa z liczbą:
//Kiedy używasz operatorów innych niż + między stringiem a liczbą, string jest zazwyczaj konwertowany na liczbę.
var result = "5" * 3; // Wynik: 15
//Konwersja wartości logicznych:
var value = true;
console.log(value + 1); // Wynik: 2 (true jest konwertowane na 1)
//Porównania z podwójnym znakiem równości (==):
//JavaScript próbuje dokonać konwersji typów, aby dokonać porównania.
console.log(1 == true); // Wynik: true
console.log(1 == "1"); // true
console.log(false == 0); // true
//Niejawna konwersja do wartości logicznej:
//W kontekstach, które wymagają wartości logicznej (jak w instrukcjach warunkowych), wartości są konwertowane na true lub false.
if ("0") {
console.log("String '0' jest traktowany jako true!");
}
//Operacje z wartościami null i undefined:
console.log(null + 2); // 2 (null jest konwertowane na 0)
console.log(undefined + 2); // NaN