隆Estamos en directo en Twitch!

隆Entra y participa!

Imagen de la etiqueta javascript

Top 5 preguntas de JavaScript en Stack Overflow

3 minutos de lectura驴Una errata? Edita el art铆culo

En Stack Overflow, la comunidad de desarrolladores m谩s grande del mundo, se publican preguntas y respuestas sobre programaci贸n. En este post, vamos a ver las 5 preguntas m谩s populares de JavaScript en Stack Overflow.

5. 驴C贸mo comprobar que una cadena de texto incluye otra?

Soluci贸n: usar el m茅todo String.prototype.includes.

Devuelve un booleano cuando la cadena de texto que se le pasa como argumento es parte de la cadena que lo llama.

Ejemplo:

const string = "midudev"
const substring = "midu"

// la mejor
string.includes(substring) // true

// forma antigua
string.indexOf(substring) !== -1 // true

4. 驴C贸mo redireccionar a otra p谩gina en JavaScript?

Soluci贸n: usando el objeto window.location

Puedes cambiar la URL de la p谩gina actual reasingando la propiedad window.location.href.

Tambi茅n puedes llamar a los m茅todos assign() o replace() del objeto window.location.

Ejemplo:

// redirecciona a otra p谩gina
// el usuario S脥 podr谩 volver a ella con el bot贸n de atr谩s
window.location.href = "https://midu.dev"
// o tambi茅n
window.location.assign("https://midu.dev")

// el usuario NO podr谩 volver a ella con el bot贸n de atr谩s
window.location.replace("https://midu.dev")

3. 驴Qu茅 hace el ‘use strict’ de JavaScript?

Soluci贸n: es un modo en el que JavaScript no permite ciertas operaciones que pueden ser peligrosas.

En el modo estricto, JavaScript no permite operaciones que, de otra forma, no lanzar铆an un error:

  • Crear variables globales sin usar la palabra reservada var, let o const.
  • Crear funciones con el mismo nombre que una propiedad del objeto Object.prototype.
  • Eliminar una variable con la palabra reservada delete.
  • Uso de las siguientes palabras como nombre de una variable: package, private, public, static, interface, implements, let, yield, protected, interface, package, private, protected, static, yield.
  • Muchas protecciones contra la inyecci贸n de c贸digo al usar eval.

Algunos ejemplos:

'use strict'

userName = 'Miguel'  // 鉂 ReferenceError

const person = { name: 'Miguel' }
delete person // 鉂 SyntaxError

function sum(a, a) {} // 鉂 SyntaxError

2. 驴C贸mo saber si un elemento es visible usando JavaScript?

La pregunta original habla de JQuery, pero vamos a ver c贸mo se hace con JavaScript puro.

Que un elemento no se vea puede ser por muchas cosas. Es complicado hacer una soluci贸n 煤nica que funcione en todos los casos.

Pero mirando sus propiedades CSS o su posici贸n deber铆a cubrir muchas de las m谩s comunes:

// visible por sus propiedades
const isVisible = (
  el.style.display !== 'none'
  && el.visibility !== 'hidden'
)

// visible por su posici贸n
const position = el.getBoundingClientRect()
const isInView = (
  position.top >= 0
  && position.bottom <= window.innerHeight
)

Pero tambi茅n es posible que no sea visible por su opacidad o por estar oculto por otro elemento. En ese caso, habr铆a que hacer una comprobaci贸n m谩s compleja.

1. 驴C贸mo eliminar un elemento espec铆fico de un Array?

Hay varias formas de hacerlo. La m谩s sencilla es usar el m茅todo Array.prototype.splice.

const array = [1, 2, 3, 4, 5]
const indexToRemove = 2
const itemsToRemove = 1
array.splice(indexToRemove, itemsToRemove) // [1, 2, 4, 5]

Otra forma es usar el m茅todo Array.prototype.filter o .slice:

const array = [1, 2, 3, 4, 5]
const indexToRemove = 2
array.filter((_, index) => index !== indexToRemove) // [1, 2, 4, 5]

array
  .slice(0, indexToRemove)
  .concat(array.slice(indexToRemove + 1)) // [1, 2, 4, 5]

Contenido del art铆culo

Comparte el art铆culo