Cómo comprobar si una variable es una cadena en JavaScript

Moataz Farid 12 octubre 2023
  1. Representación de cadenas en JavaScript
  2. Comprueba si una variable es una cadena en JavaScript usando el operador typeof
Cómo comprobar si una variable es una cadena en JavaScript

En este tutorial, aprenderemos a comprobar cualquier variable para saber si es un String o no.

Lo primero es lo primero, necesitamos saber cómo se pueden representar las cadenas en JavaScript. Luego aprenderemos a comprobar si la variable es una cadena o no.

Representación de cadenas en JavaScript

En JavaScript, una cadena es un dato textual almacenado. Puede ser definido de múltiples maneras dentro de comillas simples, comillas dobles, o backticks, y también, puede ser definido usando la clase String, así que algunas cadenas pueden ser también del tipo Object.

Ejemplo:

var singleQuotes = 'Hello String with Single Quotes';
var doubleQuotes = 'Hello String with Double Quotes';
var backticksText = 'Hello String with Backticks';
var stringObject = new String('Hello String Object');

console.log(singleQuotes);
console.log(doubleQuotes);
console.log(backticksText);
console.log(stringObject);

Resultado:

Hello String with Single Quotes
Hello String with Double Quotes
Hello String with Backticks
String {"Hello String Object"}

Comprueba si una variable es una cadena en JavaScript usando el operador typeof

En JavaScript, tenemos el operador typeof, que devuelve el tipo de cualquier variable y nos permite saber con qué tipo de datos estamos tratando.

Si queremos saber cuáles son los tipos de variables utilizadas en el ejemplo anterior, podemos escribir:

console.log(typeof singleQuotes);
console.log(typeof doubleQuotes);
console.log(typeof backticksText);
console.log(typeof stringObject);

Resultado:

string
string
string
object

Después de entender cómo podemos saber el tipo de datos de una variable, comprobar si la variable es cadena puede ser sencillo.

Si el valor de retorno de inputText typeof es string, entonces esa variable es un tipo de datos primitivo String. Si el inputText es una instancia de la clase String, también es una cadena; de lo contrario, no puede ser una cadena.

Veamos el siguiente ejemplo:

function isString(inputText) {
  if (typeof inputText === 'string' || inputText instanceof String) {
    // it is string
    return true;
  } else {
    // it is not string
    return false;
  }
}

var textOne = 'Hello String';
var textTwo = new String('Hello String Two');
var notString = true;

console.log('textOne variable is String > ' + isString(textOne));
console.log('textTwo variable is String > ' + isString(textTwo));
console.log('notString variable is String > ' + isString(notString));

Resultado:

textOne variable is String > true
textTwo variable is String > true
notString variable is String > false

Artículo relacionado - Java String