W tym samouczku nauczysz się konwersji typów w JavaScript na podstawie przykładów.
Proces konwersji jednego typu danych na inny jest nazywany konwersją typów. W JavaScript istnieją dwa typy konwersji typów.
- Niejawna konwersja
- Jawna konwersja
Niejawna konwersja JavaScript
W pewnych sytuacjach JavaScript automatycznie konwertuje jeden typ danych na inny (na właściwy typ). Jest to znane jako niejawna konwersja.
Przykład 1: Niejawna konwersja na ciąg
// numeric string used with + gives string type let result; result = '3' + 2; console.log(result) // "32" result = '3' + true; console.log(result); // "3true" result = '3' + undefined; console.log(result); // "3undefined" result = '3' + null; console.log(result); // "3null"
Uwaga : Kiedy liczba jest dodawana do ciągu, JavaScript konwertuje liczbę na ciąg przed konkatenacją.
Przykład 2: Niejawna konwersja na liczbę
// numeric string used with - , / , * results number type let result; result = '4' - '2'; console.log(result); // 2 result = '4' - 2; console.log(result); // 2 result = '4' * 2; console.log(result); // 8 result = '4' / 2; console.log(result); // 2
Przykład 3: Nienumeryczne wyniki w postaci ciągu znaków na NaN
// non-numeric string used with +, - , / , * results to NaN let result; result = 'hello' - 'world'; console.log(result); // NaN result = '4' - 'hello'; console.log(result); // NaN
Przykład 4: Niejawna konwersja wartości logicznych na liczbę
// if boolean is used, true is 1, false is 0 let result; result = '4' - true; console.log(result); // 3 result = 4 + true; console.log(result); // 5 result = 4 + false; console.log(result); // 4
Uwaga: JavaScript traktuje 0 jako, falsea wszystkie niezerowe liczby jako true. A jeśli truezostanie przekonwertowany na liczbę, wynikiem jest zawsze 1.
Przykład 5: zerowa konwersja na liczbę
// null is 0 when used with number let result; result = 4 + null; console.log(result); // 4 result = 4 - null; console.log(result); // 4
Przykład 6: wartość undefined używana z liczbą, wartością logiczną lub wartością zerową
// Arithmetic operation of undefined with number, boolean or null gives NaN let result; result = 4 + undefined; console.log(result); // NaN result = 4 - undefined; console.log(result); // NaN result = true + undefined; console.log(result); // NaN result = null + undefined; console.log(result); // NaN
Jawna konwersja JavaScript
Możesz także przekonwertować jeden typ danych na inny zgodnie ze swoimi potrzebami. Konwersja typów wykonywana ręcznie jest nazywana jawną konwersją typów.
W JavaScript jawne konwersje typów są wykonywane za pomocą wbudowanych metod.
Oto kilka typowych metod jawnych konwersji.
1. Konwersja jawnie na liczbę
Aby przekonwertować ciągi numeryczne i wartości logiczne na liczby, możesz użyć Number(). Na przykład,
let result; // string to number result = Number('324'); console.log(result); // 324 result = Number('324e-1') console.log(result); // 32.4 // boolean to number result = Number(true); console.log(result); // 1 result = Number(false); console.log(result); // 0
W JavaScript puste ciągi i nullwartości zwracają 0 . Na przykład,
let result; result = Number(null); console.log(result); // 0 let result = Number(' ') console.log(result); // 0
Jeśli ciąg jest nieprawidłową liczbą, wynikiem będzie NaN. Na przykład,
let result; result = Number('hello'); console.log(result); // NaN result = Number(undefined); console.log(result); // NaN result = Number(NaN); console.log(result); // NaN
Uwaga : Można również generować numery z pomocą sznurków parseInt(), parseFloat()jednokomponentowe operatora +i Math.floor(). Na przykład,
let result; result = parseInt('20.01'); console.log(result); // 20 result = parseFloat('20.01'); console.log(result); // 20.01 result = +'20.01'; console.log(result); // 20.01 result = Math.floor('20.01'); console.log(result); // 20
2. Konwertuj jawnie na łańcuch
Aby przekonwertować inne rodzaje danych na ciągi znaków, można użyć jednej String()lub toString(). Na przykład,
//number to string let result; result = String(324); console.log(result); // "324" result = String(2 + 4); console.log(result); // "6" //other data types to string result = String(null); console.log(result); // "null" result = String(undefined); console.log(result); // "undefined" result = String(NaN); console.log(result); // "NaN" result = String(true); console.log(result); // "true" result = String(false); console.log(result); // "false" // using toString() result = (324).toString(); console.log(result); // "324" result = true.toString(); console.log(result); // "true"
Uwaga : String()trwa nulli undefinedi konwertuje je na sznurku. Jednak toString()podaje błąd, kiedynull are passed.
3. Konwertuj jawnie na Boolean
Aby przekonwertować inne typy danych na wartości logiczne, możesz użyć Boolean().
W JavaScript undefined, null, 0, NaN, ''konwertuje do false. Na przykład,
let result; result = Boolean(''); console.log(result); // false result = Boolean(0); console.log(result); // false result = Boolean(undefined); console.log(result); // false result = Boolean(null); console.log(result); // false result = Boolean(NaN); console.log(result); // false
Wszystkie inne wartości podają true. Na przykład,
result = Boolean(324); console.log(result); // true result = Boolean('hello'); console.log(result); // true result = Boolean(' '); console.log(result); // true
Tabela konwersji typu JavaScript
Tabela przedstawia konwersję różnych wartości na łańcuchy, liczby i wartości logiczne w JavaScript.
Value | String Conversion | Number Conversion | Boolean Conversion |
1 | "1" | 1 | |
0 | "0" | 0 | |
"1" | "1" | 1 | |
"0" | "0" | 0 | |
"ten" | "ten" | | |
| "true" | 1 | |
| "false" | 0 | |
| "null" | 0 | |
| "undefined" | | |
'' | "" | 0 | |
' ' | " " | 0 | |
Dowiesz się o konwersji obiektów i tablic na inne typy danych w późniejszych samouczkach.
Odwiedź te przykłady, aby dowiedzieć się więcej:
- JavaScript Daty do liczb
- JavaScript Daty do ciągów








