Heim > Artikel > Web-Frontend > Geben Sie Dienstprogramme ein – JavaScript-Herausforderungen
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.
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:
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
Alles, was kein primitiver Typ ist, ist ein Objekt in JavaScript. Dazu gehört:
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
Es gibt mehrere Methoden zum Überprüfen von Typen in JavaScript, darunter:
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
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!