Ο τελεστής typeof

Ο τελεστής typeof επιτρέπει τον προσδιορισμό του τύπου μιας παραμέτρου (αριθμός, συμβολοσειρά, αντικείμενο). Ο τελεστής επιστρέφει μια συμβολοσειρά, που περιέχει τον τύπο ('number', 'string', 'object').

Για το null ο τελεστής επιστρέφει 'object' (αυτό είναι ένα αναγνωρισμένο σφάλμα της γλώσσας). Για συναρτήσεις ο τελεστής επιστρέφει 'function'. Αυτό έχει γίνει για ευκολία, καθώς ο τύπος 'function' δεν υπάρχει.

Σύνταξη

Ο τελεστής typeof έχει 2 σύνταξης (και οι δύο σύνταξης λειτουργούν το ίδιο):

javascripttypeof παράμετρος;
typeof(παράμετρος);

Παράδειγμα

Ας δούμε πώς το typeof λειτουργεί με αριθμό:

javascripttypeof 1;

Ως αποτέλεσμα του εκτελεσμένου κώδικα θα λάβουμε την τιμή number:

javascript'number'

Παράδειγμα

Τώρα ας ορίσουμε μια συμβολοσειρά ως παράμετρο:

javascripttypeof 'str';

Αποτέλεσμα εκτέλεσης του κώδικα:

javascript'string'

Παράδειγμα

Τώρα ας ορίσουμε ως παράμετρο την boolean τιμή true:

javascripttypeof true;

Αποτέλεσμα εκτέλεσης του κώδικα:

javascript'boolean'

Παράδειγμα

Ας δούμε ποιος τύπος έχει η τιμή undefined:

javascripttypeof undefined;

Μετά την εκτέλεση του κώδικα θα λάβουμε επίσης undefined:

javascript'undefined'

Παράδειγμα

Τώρα ας μάθουμε τον τύπο ενός κενού αντικειμένου:

javascripttypeof {};

Αποτέλεσμα εκτέλεσης του κώδικα:

javascript'object'

Παράδειγμα

Και τώρα ας μάθουμε τον τύπο ενός κενού πίνακα:

javascripttypeof [];

Ως αποτέλεσμα θα λάβουμε επίσης 'object':

javascript'object'

Παράδειγμα

Ας μάθουμε τον τύπο της τιμής null:

javascripttypeof null;

Ως αποτέλεσμα θα λάβουμε επίσης 'object', που είναι ένα αναγνωρισμένο σφάλμα της γλώσσας:

javascript'object'

Παράδειγμα

Τώρα ας προσδιορίσουμε τον τύπο μιας κενής συνάρτησης:

javascripttypeof function() {};

Μετά την εκτέλεση του κώδικα θα λάβουμε 'function', παρά το γεγονός ότι τέτοιος τύπος δεν υπάρχει. Αυτή η συμβολοσειρά απαιτείται για την ευκολία του χρήστη κατά τον προσδιορισμό μιας συνάρτησης:

javascript'function'

Παράδειγμα

Ας γράψουμε μια συνάρτηση, που θα εμφανίζει μόνο αριθμούς:

javascriptfunction printNumber(number) {
  if (typeof number === 'number') {
    console.log(number);
  }
}

printNumber(2);
printNumber('str');
printNumber(3);

Δείτε επίσης

  • τη συνάρτηση isNaN,
    που πραγματοποιεί έλεγχο για NaN
  • τη συνάρτηση isFinite,
    που ελέγχει εάν ένας αριθμός είναι πεπερασμένος