Σε αυτό το σεμινάριο, θα μάθετε για τις μετατροπές τύπου σε JavaScript με τη βοήθεια παραδειγμάτων.
Η διαδικασία μετατροπής ενός τύπου δεδομένων σε έναν άλλο τύπο δεδομένων ονομάζεται μετατροπή τύπου. Υπάρχουν δύο τύποι μετατροπής τύπου στο JavaScript.
- Σιωπηρή μετατροπή
- Άμεση μετατροπή
Σιωπηρή μετατροπή JavaScript
Σε ορισμένες περιπτώσεις, το JavaScript μετατρέπει αυτόματα έναν τύπο δεδομένων σε έναν άλλο (στον σωστό τύπο). Αυτό είναι γνωστό ως σιωπηρή μετατροπή.
Παράδειγμα 1: Σιωπηρή μετατροπή σε συμβολοσειρά
// 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"
Σημείωση : Όταν ένας αριθμός προστίθεται σε μια συμβολοσειρά, το JavaScript μετατρέπει τον αριθμό σε μια συμβολοσειρά πριν από τη συνένωση.
Παράδειγμα 2: Σιωπηρή μετατροπή σε αριθμό
// 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
Παράδειγμα 3: Μη αριθμητικά αποτελέσματα συμβολοσειράς στο 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
Παράδειγμα 4: Σιωπηρή Boolean μετατροπή σε αριθμό
// 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
Σημείωση: Το JavaScript θεωρεί 0 ως false
και όλους τους μη μηδενικούς αριθμούς ως true
. Και, εάν true
μετατραπεί σε αριθμό, το αποτέλεσμα είναι πάντα 1.
Παράδειγμα 5: μηδενική μετατροπή σε αριθμό
// null is 0 when used with number let result; result = 4 + null; console.log(result); // 4 result = 4 - null; console.log(result); // 4
Παράδειγμα 6: Απροσδιόριστο που χρησιμοποιείται με αριθμό, boolean ή null
// 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
Άμεση μετατροπή JavaScript
Μπορείτε επίσης να μετατρέψετε έναν τύπο δεδομένων σε έναν άλλο σύμφωνα με τις ανάγκες σας. Η μετατροπή τύπου που κάνετε με το χέρι είναι γνωστή ως ρητή μετατροπή τύπου.
Στο JavaScript, οι μετατροπές ρητού τύπου πραγματοποιούνται χρησιμοποιώντας ενσωματωμένες μεθόδους.
Ακολουθούν ορισμένες κοινές μέθοδοι ρητών μετατροπών.
1. Μετατρέψτε σε αριθμό ρητά
Για να μετατρέψετε αριθμητικές συμβολοσειρές και δυαδικές τιμές σε αριθμούς, μπορείτε να χρησιμοποιήσετε Number()
. Για παράδειγμα,
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
Στο JavaScript, οι κενές συμβολοσειρές και οι null
τιμές επιστρέφουν 0 . Για παράδειγμα,
let result; result = Number(null); console.log(result); // 0 let result = Number(' ') console.log(result); // 0
Εάν μια συμβολοσειρά δεν είναι έγκυρος αριθμός, το αποτέλεσμα θα είναι NaN
. Για παράδειγμα,
let result; result = Number('hello'); console.log(result); // NaN result = Number(undefined); console.log(result); // NaN result = Number(NaN); console.log(result); // NaN
Σημείωση : Μπορείτε επίσης να δημιουργήσετε αριθμούς από χορδές που χρησιμοποιούν parseInt()
, parseFloat()
, μοναδιαίο χειριστή +
και Math.floor()
. Για παράδειγμα,
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. Μετατροπή σε συμβολοσειρά ρητά
Για να μετατρέψετε άλλους τύπους δεδομένων σε συμβολοσειρές, μπορείτε να χρησιμοποιήσετε ένα String()
ή τα δύο toString()
. Για παράδειγμα,
//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"
Σημείωση : τα String()
παίρνει null
και τα undefined
μετατρέπει σε συμβολοσειρά. Ωστόσο, toString()
δίνει σφάλμα ότανnull are passed.
3. Μετατροπή σε Boolean ρητά
Για να μετατρέψετε άλλους τύπους δεδομένων σε boolean, μπορείτε να το χρησιμοποιήσετε Boolean().
Σε JavaScript, undefined
, null
, 0
, NaN
, ''
μετατρέπει false
. Για παράδειγμα,
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
Όλες οι άλλες τιμές δίνουν true
. Για παράδειγμα,
result = Boolean(324); console.log(result); // true result = Boolean('hello'); console.log(result); // true result = Boolean(' '); console.log(result); // true
Πίνακας μετατροπής τύπου JavaScript
Ο πίνακας δείχνει τη μετατροπή διαφορετικών τιμών σε String, Number και Boolean σε 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 |
|
Θα μάθετε για τη μετατροπή αντικειμένων και συστοιχιών σε άλλους τύπους δεδομένων σε μεταγενέστερα σεμινάρια.
Επισκεφτείτε αυτά τα παραδείγματα για να μάθετε περισσότερα:
- Ημερομηνία JavaScript για αριθμούς
- Ημερομηνίες JavaScript για χορδές