Ο τελεστής typeof
Ο τελεστής typeof επιτρέπει τον προσδιορισμό
του τύπου μιας παραμέτρου (αριθμός, συμβολοσειρά, αντικείμενο). Ο τελεστής
επιστρέφει μια συμβολοσειρά, που περιέχει τον τύπο ('number',
'string', 'object').
Για το null
ο τελεστής επιστρέφει 'object' (αυτό είναι
ένα αναγνωρισμένο σφάλμα της γλώσσας). Για συναρτήσεις ο τελεστής
επιστρέφει 'function'. Αυτό έχει γίνει
για ευκολία, καθώς ο τύπος 'function'
δεν υπάρχει.
Σύνταξη
Ο τελεστής typeof έχει 2 σύνταξης
(και οι δύο σύνταξης λειτουργούν το ίδιο):
typeof παράμετρος;
typeof(παράμετρος);
Παράδειγμα
Ας δούμε πώς το typeof λειτουργεί με
αριθμό:
typeof 1;
Ως αποτέλεσμα του εκτελεσμένου κώδικα
θα λάβουμε την τιμή number:
'number'
Παράδειγμα
Τώρα ας ορίσουμε μια συμβολοσειρά ως παράμετρο:
typeof 'str';
Αποτέλεσμα εκτέλεσης του κώδικα:
'string'
Παράδειγμα
Τώρα ας ορίσουμε ως παράμετρο την boolean
τιμή true:
typeof true;
Αποτέλεσμα εκτέλεσης του κώδικα:
'boolean'
Παράδειγμα
Ας δούμε ποιος τύπος
έχει η τιμή undefined:
typeof undefined;
Μετά την εκτέλεση του κώδικα
θα λάβουμε επίσης undefined:
'undefined'
Παράδειγμα
Τώρα ας μάθουμε τον τύπο ενός κενού αντικειμένου:
typeof {};
Αποτέλεσμα εκτέλεσης του κώδικα:
'object'
Παράδειγμα
Και τώρα ας μάθουμε τον τύπο ενός κενού πίνακα:
typeof [];
Ως αποτέλεσμα θα λάβουμε επίσης
'object':
'object'
Παράδειγμα
Ας μάθουμε τον τύπο
της τιμής null:
typeof null;
Ως αποτέλεσμα θα λάβουμε επίσης
'object', που είναι
ένα αναγνωρισμένο σφάλμα της γλώσσας:
'object'
Παράδειγμα
Τώρα ας προσδιορίσουμε τον τύπο μιας κενής συνάρτησης:
typeof function() {};
Μετά την εκτέλεση του κώδικα θα λάβουμε
'function',
παρά το γεγονός ότι τέτοιος τύπος
δεν υπάρχει. Αυτή η συμβολοσειρά
απαιτείται για την ευκολία του χρήστη
κατά τον προσδιορισμό μιας συνάρτησης:
'function'
Παράδειγμα
Ας γράψουμε μια συνάρτηση, που θα εμφανίζει μόνο αριθμούς:
function printNumber(number) {
if (typeof number === 'number') {
console.log(number);
}
}
printNumber(2);
printNumber('str');
printNumber(3);