Operatorn typeof

Operatorn typeof låter dig bestämma typ av en parameter (nummer, sträng, objekt). Operatorn returnerar en sträng som innehåller typen ('number', 'string', 'object').

För null returnerar operatorn 'object' (detta är ett erkänt språkfel). För funktioner returnerar operatorn 'function'. Detta är gjort för bekvämlighet, eftersom typen 'function' inte existerar.

Syntax

Operatorn typeof har 2 syntaxformer (båda syntaxformerna fungerar likadant):

javascripttypeof parameter;
typeof(parameter);

Exempel

Låt oss se hur typeof fungerar med ett nummer:

javascripttypeof 1;

Resultatet av den utförda koden blir värdet number:

javascript'number'

Exempel

Låt oss nu ange en sträng som parameter:

javascripttypeof 'str';

Resultatet av koden:

javascript'string'

Exempel

Låt oss nu ange ett booleskt värde true som parameter:

javascripttypeof true;

Resultatet av koden:

javascript'boolean'

Exempel

Låt oss se vilken typ värdet undefined har:

javascripttypeof undefined;

Efter att koden körts får vi också undefined:

javascript'undefined'

Exempel

Låt oss nu ta reda på typen av ett tomt objekt:

javascripttypeof {};

Resultatet av koden:

javascript'object'

Exempel

Och låt oss nu ta reda på typen av en tom array:

javascripttypeof [];

Resultatet blir också 'object':

javascript'object'

Exempel

Låt oss ta reda på typen av värdet null:

javascripttypeof null;

Resultatet blir också 'object', vilket är ett erkänt språkfel:

javascript'object'

Exempel

Låt oss nu bestämma typen av en tom funktion:

javascripttypeof function() {};

Efter att koden körts får vi 'function', trots att en sådan typ inte existerar. Denna sträng behövs för användarens bekvämlighet när man identifierar en funktion:

javascript'function'

Exempel

Låt oss skriva en funktion som endast skriver ut nummer:

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

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

Se även

  • funktionen isNaN,
    som kontrollerar för NaN
  • funktionen isFinite,
    som kontrollerar om ett nummer är ändligt