Dominando os tipos de verificação de dados em Javascript/TypeScript
Este artigo ajudará você a verificar se uma variável ou parâmetro é uma sequência de caracteres, número, matriz, objeto, função, nulo, indefinido, booleano, regexp, erro, data, símbolo em JavaScript
Como você verifica se uma variável é uma String em Javascript
Uma string é sempre uma string, então essa é fácil. Exceto se chamado com new (new String) o typeof retornará “object”., portanto, para incluir também as strings podemos utilizar o instanceof.
function isString (value) {
return typeof value === 'string' || value instanceof String;
}
Como você verifica se uma variável é um número em Javascript
typeof number, mais coisas do que apenas um número comum poderá retornará “número” como NaN e Infinity. Para saber se um valor realmente é um número, a função isFinite
também é necessária.
function isNumber (value) {
return typeof value === 'number' && isFinite(value);
}
Como você verifica se uma variável é uma matriz em Javascript
Em javascript, matrizes não são matrizes verdadeiras
Em javascript, matrizes não são verdadeiras, como em java e em outros idiomas. Na verdade, eles são objetos, portanto typeof retornará “object” para eles. Para saber se algo realmente é um array, seu construtor pode ser comparado ao Array.
function isArray (value) {
return value && typeof value === 'object' && value.constructor === Array;
}Array.isArray(value);
Como você verifica se uma variável é uma função em Javascript
Funções são funções, então aqui apenas typeof é suficiente.
function isFunction (value) {
return typeof value === 'function';
}
Como você verifica se uma variável é um objeto em Javascript
Muitas coisas são objetos em javascript. Para saber se um valor é um objeto que pode ter propriedades e ser repetido, seu construtor pode ser comparado a Object. Ele não funciona para objetos criados a partir de classes, então o operador instanceof pode ser usado.
function isObject (value) {
return value && typeof value === 'object' && value.constructor === Object;
}
Como você verifica se uma variável é nula e indefinida em Javascript
Na maioria das vezes, você não precisa verificar explicitamente se o valor é nulo ou indefinido, pois ambos são valores falsos. No entanto se precisar pode fazer da seguinte forma.
// Verifica se o valor é nulo
function isNull (value) {
return value === null;
}// Verifica se o valor é undefined
function isUndefined (value) {
return typeof value === 'undefined';
}
Como você verifica se uma variável é booleana em Javascript
Para os booleanos, typeof é suficiente, pois retorna “boolean” para true e false.
function isBoolean (value) {
return typeof value === 'boolean';
}
Como você verifica se uma variável é um RegExp em Javascript
RegExp são objetos, portanto, a única coisa necessária para verificar é se o construtor é RegExp.
function isRegExp (value) {
return value && typeof value === 'object' && value.constructor === RegExp;
}
Como você verifica se uma variável é um erro em Javascript
Erros em javascript são os mesmos que “exceções” em muitas outras linguagens de programação. Eles vêm em algumas formas diferentes, como, por exemplo, Error, TypeError e RangeError. Uma instrução instanceof é suficiente para todos, mas apenas para ter certeza, também verificamos a propriedade “message” que os erros possuem.
// Returns if value is an error object
function isError (value) {
return value instanceof Error && typeof value.message !== 'undefined';
}
Como você verifica se uma variável é uma data em Javascript
Data não é realmente um tipo de dados em Javascript. Mas, para saber se algo é um objeto Date, pode ser verificado com instanceof.
function isDate (value) {
return value instanceof Date;
}
Como você verifica se uma variável é um símbolo em Javascript
No ES6, o novo símbolo de tipo de dados foi adicionado. O suficiente typeof retorna “símbolo” para ele, para que não seja necessária mais lógica.
function isSymbol (value) {
return typeof value === 'symbol';
}