Heim > Web-Frontend > js-Tutorial > Hauptteil

Geben Sie Dienstprogramme ein – JavaScript-Herausforderungen

Mary-Kate Olsen
Freigeben: 2024-10-30 08:12:27
Original
425 Leute haben es durchsucht

Type Utilities - JavaScript Challenges

Einführung

Das Überprüfen von Typen ist eine gängige Praxis in JavaScript im alltäglichen Codieren und bei technischen Interviews.

Den gesamten Code finden Sie in diesem Beitrag auf Github.


Primitive Werte

In JavaScript definieren alle Typen außer Object unveränderliche Werte, die direkt auf der untersten Ebene der Sprache dargestellt werden. Werte dieser Art bezeichnen wir als Primitivwerte.

Es gibt 7 Grundwerte:

  1. Null
  2. Undefiniert
  3. Boolescher Wert
  4. Nummer
  5. BigInt
  6. Zeichenfolge
  7. Symbol

Alle primitiven Typen außer null können mit dem Typeof-Operator getestet werden. typeof null gibt „object“ zurück, daher muss man === null verwenden, um auf null zu testen.

Daher erhalten wir die Dienstprogrammfunktion ersten Typs.

function isBoolean(value) {
  return typeof value === 'boolean';
}

function isString(value) {
  return typeof value === 'string';
}

function isNumber(value) {
  return typeof value === 'number';
}

function isSymbol(value) {
  return typeof value === 'symbol';
}

function isBigInt(value) {
  return typeof value === 'bigint';
}

function isUndefined(value) {
  return typeof value === 'undefined';
}

function isNull(value) {
  return value === null;
}

// Usage example
console.log(isSymbol(Symbol('test'))); // => true
console.log(isNull(null)); // => true
console.log(isUndefined(undefined)); // => true
console.log(isNumber(1)); // => true
console.log(isString('')); // => true
console.log(isBoolean(true)); // => true
console.log(isBigInt(9007199254740991n)); // => true
Nach dem Login kopieren

Objekte

Alles, was kein primitiver Typ ist, ist ein Objekt in JavaScript. Dazu gehört:

  • Einfache Objekte
  • Arrays
  • Funktionen
  • Termine
  • RegExps
  • Andere integrierte Objekttypen

Hier kommt die zweite Hilfsfunktion für Arrays, Funktionen, Objekte.

function isArray(value) {
  return Array.isArray(value);
}

function isFunction(value) {
  return typeof value === 'function';
}

function isObject(value) {
  // for null and undefined
  if (value == null) {
    return false;
  }

  return typeof value === 'object';
}

function isPlainObject(value) {
  // for null and undefined
  if (value == null) {
    return false;
  }

  const prototype = Object.getPrototypeOf(value);
  return prototype === Object.prototype || prototype === null;
}

// Usage example
console.log(isArray(new Array())); // => true
console.log(isObject(Object(null))); // => true
console.log(isFunction(Object.prototype.toString)); // => true
console.log(isPlainObject(Object.create(null))); // => true
Nach dem Login kopieren

Object.prototype.toString.call()

Es gibt mehrere Methoden zum Überprüfen von Typen in JavaScript, darunter:

  • typeof für alle primitiven Typen außer null.
  • Instanz von bestimmt, ob ein Objekt eine Instanz eines bestimmten Konstruktors oder einer bestimmten Klasse ist. Es funktioniert nicht mit primitiven Werten.

Object.prototype.toString.call() ist die zuverlässigste Methode zur Typprüfung in JavaScript.

Wir können die Typen extrahieren durch:

function getType(value) {
  const type = typeof value;

  if (type !== 'object') {
    return type;
  }

  return Object.prototype.toString
    .call(value)
    .slice(8, -1)
    .toLowerCase();
}

// Usage example
console.log(getType(1)); // => number
console.log(getType('')); // => string
console.log(getType({})); // => object
console.log(getType(null)); // => null
console.log(getType(undefined)); // => undefined
console.log(getType(Symbol())); // => symbol
console.log(getType(BigInt(1234567890123456789012345))); // => bigint
console.log(getType(function () {})); // => function
console.log(getType(new Date())); // => date
console.log(getType(new Map())); // => map
console.log(getType(new Set())); // => set 
console.log(getType(new RegExp("cat", "i"))); // => regex
Nach dem Login kopieren

Referenz

  • JavaScript-Datentypen und Datenstrukturen – MDN
  • Datentypen – JavaScript.info
  • Referenztyp – JavaScript.info
  • GreatFrontEnd

Das obige ist der detaillierte Inhalt vonGeben Sie Dienstprogramme ein – JavaScript-Herausforderungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!