Como desarrollador que no habla inglés, a menudo me pregunto por qué algunas funciones de JavaScript llevan una "s" y otras no.
Ejemplo:
Array.includes() Element.contains()Me imagino que es porque son verbos conjugados en tercera persona. Pero en ese caso, ¿por qué no se conjuga lo siguiente?
Array.reduce() Array.find() Array.map()¿Hay alguna regla que desconozco, o es solo una cuestión de qué suena mejor para el desarrollador que primero escribe una biblioteca?
Como alguien que fue profesor de inglés, primero diré que la razón principal por la que este es el caso es porque el inglés apesta un poco. La gramática es rara, y no importa cuántas reglas memorices, nunca la hablarás a la perfección. Incluso nosotros, los hablantes nativos, luchamos con la gramática a diario.
Para responder a su pregunta a fondo:
includes() y contains() son declaraciones que describen la matriz/valor y devuelven una declaración de "sí" o "no" ( true o false ).Inglés:
Mi lista de compras incluye tocino. ¿Es esto cierto?
JavaScript:
const includesBacon = shoppingList.includes('bacon'); console.log(includesBacon); // -> booleanreduce() y map() realizan una acción en la matriz/valor. Literalmente le está ordenando a la matriz que haga algo por sí misma.Inglés:
Haga un mapa de una nueva lista de compras basada en la anterior, pero todo tocino. ¡Ahora!
JavaScript:
shoppingList.map(() => 'bacon')