diff --git a/docs/es/README.md b/docs/es/README.md
index e4f39899b2fe1c..abb734a7b01eb2 100644
--- a/docs/es/README.md
+++ b/docs/es/README.md
@@ -1,4 +1,4 @@
-# Bievenido a la localización de MDN en español
+# Bienvenido a la localización de MDN en español
Puedes comenzar en la siguiente [guía de contribución](https://developer.mozilla.org/es/docs/MDN/Contribute)
@@ -14,10 +14,10 @@ Puedes comenzar en la siguiente [guía de contribución](https://developer.mozil
> * ![Screenshot 2022-03-01 at 17-13-20 mdn translated-content All translated MDN content in raw form](https://user-images.githubusercontent.com/13079269/156264660-afcba14a-14a0-4c66-9a33-c1e2ad41737b.png) hacer Fork al repositorio en nuestra cuenta de GitHub.
> * Clonar el repositorio de nuestra cuenta de GitHub `git clone git@github.com:TU_USUARIO/translated-content.git`
> * `cd translated-content` #Entrar al directorio
-> * `git checkout -b patch-error-on-123-issue` #Crear rama para trabajar
+> * `git switch -c patch-error-on-123-issue` #Crear rama para trabajar
> * Hacer nuestros cambios
-> * `git add files/es/archivo.md` #Agregamos los arachivos modificados
-> * `git rm files/es/archivo.html` #Removemos los archivos eliminados
+> * `git add files/es/archivo.md` #Agregamos los archivos modificados
+> * `git rm files/es/archivo.html` #Removemos los archivos eliminados (si los hubiera)
> * `git commit -m "Corregido el error 123 [es]"` #Hacemos commit con una descripción de lo realizado y agregamos `[es]`
> * `git push -u origin patch-error-on-123-issue` #Subimos nuestra rama a nuestro repositorio
> * Ir a nuestro repositorio https://github.com/TU_USUARIO/translated-content y solicitar el Pull Request
@@ -37,12 +37,15 @@ Digamos que desea traducir el contenido de la página que se observa en esta dir
2. Buscar la [versión en español](https://github.com/mdn/translated-content/blob/main/files/es/) del [documento](https://github.com/mdn/translated-content/blob/main/files/es/web/javascript/reference/global_objects/array/index.html) que desea traducir. En este caso la dirección seria [`files/es/web/javascript/reference/global_objects/array/index.{html|md}`](https://github.com/mdn/translated-content/blob/main/files/es/web/javascript/reference/global_objects/array/index.html)
> NOTA:
- > - Si el archivo no existe, deberá crearlo en formato `Markdown` imitando la ruta que tiene la versión en inglés.
+ > - Si el archivo no existe, deberá crearlo en formato `Markdown` imitando la ruta que tiene la versión en inglés.
>
> - Es posible que el archivo en la versión en español se encuentre en formato `HTML`, en cuyo caso tendrá que reemplazarlo por el formato `Markdown`.
-3. Utilizar el texto y formato en inglés como guía para traducir al español.
+3. Utilizar el texto y formato en inglés como guía para traducir al español.
+## Arreglar "flaws" (defectos)
+
+Al usar `yarn start` en localhost para el repositorio `mdn/content`, es posible ver una previsualización en tu servidor local de los cambios que has hecho y como lucirán. Esto también es posible creando un PR, el bot se encargará de generar una "preview URL" donde puedes observar el mismo resultado. En ambas pantallas, podrás, en la parte superior del documento, mostrar los "flaws" que el motor indique, y que contendrá aquellos defectos detectados de manera automática para ser corregidos, y, en algunos casos, la corrección disponible con un clic, o una sugerencia.
## Convención en traducciones
@@ -59,13 +62,13 @@ La comunidad de español sugiere utilizar las siguientes convenciones al traduci
| Browser compatibility | Compatibilidad con navegadores |
| HTML Content o HTML | HTML |
| JavaScript Content o JavaScript | JavaScript |
-| Warning | Advertencia |
+| Warning | Advertencia |
Actualmente trabajando en: https://github.com/mdn/translated-content/issues/6562
-Charla con nosotros:
+## Charla con nosotros
Telegram: https://t.me/+Dr6qKQCAepw4MjFj
@@ -75,7 +78,7 @@ Matrix: https://chat.mozilla.org/#/room/#mdn-l10n-es:mozilla.org
Enlaces relevantes
En este artículo se describe lo que es Internet y cómo funciona.
+En este artículo se describe qué es Internet y cómo funciona.
Objetivo: | -Aprenderás lo básico de infraestructura técnica de la web y la diferencia entre Internet y Web. | +Aprenderás lo básico a cerca de la infraestructura técnica de la web y la diferencia entre Internet y la Web. |
---|
Internet es la columna vertebral de la Web, la infraestructura técnica que la hace posible. En lo más básico, Internet es una gran red de computadoras que se comunican simultáneamente.
+Internet es la columna vertebral de la Web, la infraestructura técnica que la hace posible. En su esencia, Internet es una gran red de computadoras que se comunican simultáneamente.
La historia de internet es algo oscura. Comenzó en la década de 1960 como un proyecto de investigación financiado por el ejercito de los EE.UU, y luego se convirtió en una infraestructura pública en la década de 1980 con el apoyo de muchas universidades públicas y empresas privadas. Las distintas tecnologías que soporta internet han evolucionado con el tiempo, pero la forma en que funciona no ha cambiado mucho: Internet es una forma de conectar las computadoras entre sí y asegurar que, pase lo que pase, encuentren una manera de mantenerse conectadas.
@@ -50,11 +50,11 @@La red no se limita a dos ordenadores, se pueden conectar tantos como se deseen aunque siendo más complicado cada vez. Por ejemplo, para conectar diez ordenadores, se necesitarían 45 cables y unos nueve conectores por ordenador!
+Una red no se limita a dos ordenadores, se pueden conectar tantos como se desee; sin embargo, rápidamente se volverá más compleja. Por ejemplo, para conectar diez ordenadores, se necesitarían ¡45 cables y unos nueve conectores por ordenador!
-Para resolver este problema, cada ordenador en una red está conectado a una pequeña computadora especial llamada enrutador o router (en inglés). Este enrutador cumple una función: tal como hace un señalizador en una estación de tren, el router se encarga de asegurar que el mensaje enviado desde un ordenador emisor llegue al destino correcto. Para que el ordenador B reciba un mensaje desde el ordenador A, este debe enviarlo primero al router, quien a su vez lo remite al ordenador B asegurándose que dicho mensaje no sea entregado a otro ordenador C.
+Para resolver este problema, cada ordenador en una red está conectado a una pequeña computadora especial llamada enrutador o router (en inglés). Este enrutador cumple una única función: tal como hace un señalizador en una estación de tren, el router se encarga de asegurar que el mensaje enviado desde un ordenador emisor llegue al destino correcto. Para que el ordenador B reciba un mensaje desde el ordenador A, este último debe enviarlo primero al router, que a su vez lo remite al ordenador B asegurándose que dicho mensaje no sea entregado a otro ordenador C.
Una vez que agregamos un enrutador al sistema, nuestra red de 10 ordenadores solo requiere 10 cables: un enchufe para cada ordenador y un enrutador con 10 enchufes.
@@ -80,9 +80,9 @@Si deseas enviar un mensaje a una computadora, debes especificar a cuál. Es por ello que todo ordenador conectado a una red cuenta con una dirección única que lo identifica, llamada “dirección IP” o Protocolo de Internet(IP de sus siglas en inglés Internet Protocol). Esta dirección está compuesta por una serie de cuatro números separados por puntos, por ejemplo: 192.168.2.10
.
Si deseas enviar un mensaje a una computadora, debes especificar a cuál. Es por ello que todo ordenador conectado a una red cuenta con una dirección única que lo identifica, llamada “dirección IP” (siendo "IP" las siglas en inglés de Internet Protocol, o Protocolo de Internet). Esta dirección está compuesta por una serie de cuatro números separados por puntos, por ejemplo: 192.168.2.10
.
Para los ordenadores es un identificador simple, pero los humanos tienen mayor dificultad a la hora de recordar y memorizar este tipo de dirección. Con el propósito de convertir esta serie numérica en algo que podamos asociar con mayor facilidad a la dirección IP se utiliza lo que conocemos como nombre de dominio. Por ejemplo, google.com
es el nombre de dominio utilizado para sustituir la dirección IP 173.194.121.32
. Así, usar un nombre de dominio es la manera más fácil para nosotros de identificar un ordenador a través de Internet.
Para los ordenadores es un identificador simple, pero los humanos tenemos mayor dificultad para recordar este tipo de direcciones. Con el propósito de convertir esta serie numérica en algo que podamos asociar con mayor facilidad a la dirección IP se utiliza lo que conocemos como nombre de dominio. Por ejemplo, google.com
es el nombre de dominio utilizado para la dirección IP 173.194.121.32
. Así, usar un nombre de dominio es la manera más fácil para nosotros de identificar un ordenador a través de Internet.
Así como en cualquier área de conocimiento, la web viene con un montón de jerga. No te preocupes, no te abrumaremos con todo esto (tenemos un glosario por si tienes curiosidad). Sin embargo, hay un unos términos básicos que necesitas entender al principio, Ya que escuchará estas expresiones todo el tiempo mientras lee. A veces es fácil de confundir estos términos, puesto que hacen referencia a funcionalidades relacionadas pero diferentes. De hecho, a veces veras estos términos mal utilizados en las noticias y en otros lugares, por lo que llegar mezclarlos es entendible!
+Así como en cualquier área de conocimiento, la web viene con un montón de jerga. No te preocupes, no te abrumaremos con todo esto (tenemos un glosario por si tienes curiosidad). Sin embargo, hay algunos términos básicos que necesitas entender desde el principio, ya que encontrarás estas expresiones todo el tiempo mientras lees. A veces es fácil de confundir estos términos, puesto que hacen referencia a funcionalidades relacionadas pero diferentes. De hecho, a veces veras estos términos mal utilizados en las noticias y en otros lugares, por lo que llegar mezclarlos es entendible!
Cubriremos estos términos y tecnologías con más detalle mientras exploramos más, pero estas definiciones rápidas serán un gran comienzo para ti:
Vamos a comparar la biblioteca con un servidor web:
@@ -71,7 +71,7 @@Al comenzar con un proyecto web, muchas personas se enfocan en el aspecto técnico. Por supuesto, debes estar más familiarizado con la técnica de su oficio, pero lo que realmente importa es lo que quieres lograr. Sí, parece obvio, pero demasiados proyectos fallan, no por falta de conocimiento técnico sino por falta de objetivos y visión.
+Al comenzar con un proyecto web, muchas personas se enfocan en el aspecto técnico. Por supuesto, debes estar más familiarizado con ese aspecto técnico, pero lo que realmente importa es lo que quieres lograr. Sí, parece obvio, pero demasiados proyectos fallan, no por falta de conocimiento técnico sino por falta de objetivos y visión.
Entonces cuando tienes una idea y quieres convertirla en un sitio web, hay un par de cuestiones que debes responder antes que alguna otra cosa:
@@ -36,19 +36,19 @@Todo esto es llamado idealización del proyecto y es un primer paso necesario para alcanzar tus metas, si eres un desarrollador principiante o experimentado.
+Todo esto es llamado idealización del proyecto y es un primer paso necesario para alcanzar tus metas, sin importar si eres un desarrollador principiante o experimentado.
No hay aprendizaje activo todavía. Por favor, considere la posibilidad de contribuir.
+No hay aprendizaje activo todavía. Por favor, considere la posibilidad de contribuir.
Un proyecto nunca comienza por el lado técnico. Los músicos jamás compondrán ninguna música a menos que primero tengan la idea de lo quieren tocar, y eso también vale para los pintores, escritores y desarrolladores web. La técnica viene en segundo lugar.
+Un proyecto nunca comienza por el lado técnico. Un músico jamás compondrá ninguna música, a menos que primero tenga una idea de lo quiere tocar, y eso mismo vale también para los pintores, escritores y desarrolladores web. La técnica viene en segundo lugar.
-La técnica es crítica. Los músicos deben dominar su instrumento, pero los buenos músicos nunca producen buena música sin una idea. Por lo tanto, antes de saltar al lado técnico, por ejemplo código y herramientas, primero debes dar un paso atrás y decidir en detalle lo que deseas hacer.
+La técnica es esencial. Los músicos necesitan dominar su instrumento. Pero los buenos músicos nunca producen buena música sin una idea. Por lo tanto, antes de saltar al aspecto técnico, por ejemplo código y herramientas, primero debes dar un paso atrás y decidir en detalle lo que deseas hacer.
-Una discusión de horas con los amigos es un buen comienzo, pero inapropiado. Debes sentarte y estructurar tus ideas, para tener una visión clara sobre el camino que debes tomar para materializar tus ideas. Para hacer esto, sólo necesitas lápiz y papel y un tiempo para resolver al menos las siguientes preguntas.
+Una discusión de horas con los amigos es un buen comienzo, pero inadecuado. Debes sentarte y estructurar tus ideas, para tener una visión clara sobre el camino que debes tomar para materializar tus ideas. Para hacer esto, sólo necesitas lápiz y papel y algo de tiempo para responder al menos las siguientes preguntas.
Nota: Hay innumerables maneras de llevar a cabo la ideación del proyecto. No podemos presentarlas a todas aquí (un libro entero no sería suficiente). Lo que presentamos aquí es un método sencillo para manejar lo que los profesionales llaman Ideación de Proyectos, Planificación de Proyectos y Gestión de Proyectos.
@@ -58,12 +58,12 @@Esta es la más importante pregunta a responder, ya que impulsa todo lo demás. Enumera todas la metas que deseas alcanzar. Puede ser cualquier cosa: vender bienes para ganar dinero, expresar opiniones políticas, conocer nuevos amigos, actuar con músicos, coleccionar imágenes de gatos o lo que quieras.
-Supongamos que eres músico. Y puedes desear que:
+Supongamos que eres músico. Y puedes desear:
Haciendo este sencillo ejercicio, escribir metas y clasificarlas, te ayudará cuando tengas que tomar decisiones. (¿Debería implementar estas características, usar estos servicios, crear este diseño?)
+Hacer este sencillo ejercicio, escribir metas y clasificarlas, te ayudará cuando tengas que tomar decisiones. (¿Debería implementar estas características, usar estos servicios, crear este diseño?)
-Entonces, ahora que tienes tu lista de objetivos priorizada, pasemos a la siguiente pregunta.
+Entonces, ahora que tienes tu lista de objetivos priorizados, pasemos a la siguiente pregunta.
Echemos un vistazo a nuestro ejemplo. Tenemos cinco metas relacionadas con la música, una relacionada a la vida personal (Encontrar pareja), y las fotos del gato completamente ajenas. ¿Es razonable construir un único sitio para cubrir todos esos objetivos? ¿Es necesario? Después de todo, una gran cantidad de servicios web existentes podría llevarte a tus objetivos sin necesidad de crear uno nuevo.
-Encontrar pareja es un caso prioritario en el que tiene más sentido utilizar los recursos existentes en lugar de construir todo un nuevo sitio. ¿Por qué? Porque invertiríamos más tiempo construyendo y manteniendo el sitio web en lugar de realmente buscar una pareja. Dado que nuestro objetivo es lo que más importa, debemos gastar nuestra energía en aprovechar las herramientas ya existentes en lugar de empezar desde cero. Una vez más, hay tantos servicios web ya disponibles para mostrar fotos que no vale la pena el esfuerzo para construir un nuevo sitio sólo para anunciar acerca de lo lindo que son nuestros gatos.
+Encontrar pareja es un caso prioritario en el que tiene más sentido utilizar los recursos existentes, en vez de construir todo un nuevo sitio. ¿Por qué? Porque invertiríamos más tiempo construyendo y manteniendo el sitio web en lugar de realmente buscar una pareja. Dado que nuestro objetivo es lo que más importa, debemos gastar nuestra energía en aprovechar las herramientas ya existentes en lugar de empezar desde cero. Una vez más, hay tantos servicios web ya disponibles para mostrar fotos que no vale la pena el esfuerzo para construir un nuevo sitio sólo para anunciar acerca de lo tiernos que son nuestros gatos.
-Los otros cinco objetivos están todos conectados con la música. Hay, por supuesto, muchos servicios web que podrían manejar estas metas, pero tiene sentido, en este caso, construir un sitio web propio. Tal sitio web es la manera de agregar todo lo que queremos publicar en un solo lugar (bueno para las metas 3, 5 y 6). En resumen, ya que estos objetivos giran en torno al mismo tema, tener todo en un solo lugar nos ayudará a alcanzar nuestras metas y facilitará a nuestros seguidores el conectarse con nosotros.
+Los otros cinco objetivos están todos conectados con la música. Hay, por supuesto, muchos servicios web que podrían manejar estas metas, pero en este caso tiene sentido construir un sitio web propio. Tal sitio web es la manera de incorporar todo lo que queremos publicar en un solo lugar (bueno para las metas 3, 5 y 6). En resumen, ya que estos objetivos giran en torno al mismo tema, tener todo en un solo lugar nos ayudará a alcanzar nuestras metas y facilitará a nuestros seguidores el conectarse con nosotros.
¿Cómo puede un sitio web ayudarme a alcanzar mis metas? Al responder a eso, encontrarás la mejor manera de alcanzar dichas metas y te ahorrarás desperdiciar esfuerzo.
Ahora que sabes qué es lo que quieres lograr, es momento de volver los objetivos en pasos prácticos. Como una nota lateral, tus metas no están necesariamente petrificadas, ellas evolucionan con el tiempo incluso en el transcurso del proyecto, si te encuentras con obstáculos inesperados o simplemente cambias de opinión.
+Ahora que sabes qué es lo que quieres lograr, es momento de convertir los objetivos en pasos prácticos. Como una nota adicional, tus metas no están necesariamente escritas en piedra. Ellas evolucionarán con el tiempo aún durante el desarrollo del proyecto, especialmente si te encuentras con obstáculos inesperados o simplemente cambias de opinión.
-En lugar de una extensa explicación, volvamos a nuestro ejemplo con esta tabla.
+En lugar de desarrollar una extensa explicación, volvamos a nuestro ejemplo con esta tabla.
Permitir que las gente escuche tu música | +Permitir que la gente escuche tu música |
|
||
Conocer otros músicos | +Conocer a otros músicos |
|
@@ -145,11 +145,11 @@ Venta de golosinas |
|
|
@@ -172,6 +172,6 @@
Especificación | -Estado | -Comentarios | -
---|---|---|
{{SpecName('CSS3 Basic UI', '#outline-color', 'outline-color')}} | -{{Spec2('CSS3 Basic UI')}} | -Sin cambios | -
{{SpecName('CSS3 Transitions', '#animatable-css', 'outline-color')}} | -{{Spec2('CSS3 Transitions')}} | -Define outline-color como propiedad que se puede animar. |
-
{{SpecName('CSS2.1', 'ui.html#propdef-outline-color', 'outline-color')}} | -{{Spec2('CSS2.1')}} | -Definición inicial | -
Como puedes ver, mi contorno es azul.
+``` + +#### CSS + +```css +p { + outline: 2px solid; /* Establecer el ancho y el estilo del contorno */ + outline-color: #0000FF; /* Hacer el contorno azul */ + margin: 5px; +} +``` + +#### Resultado + +{{ EmbedLiveSample('Establecer_un_contorno_azul_solido') }} + +## Especificaciones + +{{Specifications}} + +## Compatibilidad con navegadores + +{{Compat}} + +## Véase también + +- {{cssxref("outline")}} +- {{cssxref("outline-color")}} +- {{cssxref("outline-style")}} +- {{cssxref("outline-width")}} +- El tipo de dato {{cssxref("<color>")}} +- Otras propiedades relacionadas con el color: {{cssxref("color")}}, {{cssxref("background-color")}}, {{cssxref("border-color")}}, {{cssxref("text-decoration-color")}}, {{cssxref("text-emphasis-color")}}, {{cssxref("text-shadow")}}, {{cssxref("caret-color")}}, y {{cssxref("column-rule-color")}} +- [Aplicar color a elementos HTML usando CSS](/es/docs/Web/CSS/CSS_Colors/Applying_color) + diff --git a/files/es/web/javascript/reference/global_objects/symbol/species/index.md b/files/es/web/javascript/reference/global_objects/symbol/species/index.md new file mode 100644 index 00000000000000..10236c3d841e54 --- /dev/null +++ b/files/es/web/javascript/reference/global_objects/symbol/species/index.md @@ -0,0 +1,48 @@ +--- +title: Symbol.species +slug: Web/JavaScript/Reference/Global_Objects/Symbol/species +browser-compat: javascript.builtins.Symbol.species +--- +{{JSRef}} + +El símbolo conocido como **`Symbol.species`** especifica una propiedad con valor de función que la función constructora utiliza para crear objetos derivados. + +{{EmbedInteractiveExample("pages/js/symbol-species.html")}} + +## Descripción + +La propiedad de acceso `species` permite a las subclases anular el constructor por defecto de los objetos. + +{{js_property_attributes(0,0,0)}} + +## Ejemplos + +### Usando species + +Es posible que quieras devolver objetos {{jsxref("Array")}} en tu clase array derivada `MyArray`. Por ejemplo, al utilizar métodos como {{jsxref("Array.map", "map()")}} que devuelven el constructor por defecto, quieres que estos métodos devuelvan un objeto `Array` padre, en lugar del objeto `MyArray`. El símbolo `species` te permite hacer esto: + +```js +class MyArray extends Array { + // Sobrescribir especies al constructor de la matriz Array + static get [Symbol.species]() { return Array; } +} +let a = new MyArray(1,2,3); +let mapped = a.map(x => x * x); + +console.log(mapped instanceof MyArray); // false +console.log(mapped instanceof Array); // true +``` + +## Especificaciones + +{{Specifications}} + +## Compatibilidad con navegadores + +{{Compat}} + +## Véase también + +- {{jsxref("Map.@@species", "Map[@@species]")}} +- {{jsxref("Set.@@species", "Set[@@species]")}} + diff --git a/files/es/web/javascript/reference/global_objects/symbol/split/index.md b/files/es/web/javascript/reference/global_objects/symbol/split/index.md new file mode 100644 index 00000000000000..fa940a4a1975f0 --- /dev/null +++ b/files/es/web/javascript/reference/global_objects/symbol/split/index.md @@ -0,0 +1,47 @@ +--- +title: Symbol.split +slug: Web/JavaScript/Reference/Global_Objects/Symbol/split +translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/split +original_slug: Web/JavaScript/Reference/Global_Objects/Symbol/split +browser-compat: javascript.builtins.Symbol.split +--- +{{JSRef}} + +El símbolo conocido como **`Symbol.split`** especifica el método que divide una cadena en los índices que coinciden con una expresión regular. Esta función es llamada por el método {{jsxref("String.prototype.split()")}}. + +Para más información, véase {{jsxref("RegExp.@@split", "RegExp.prototype[@@split]()")}} y {{jsxref("String.prototype.split()")}}. + +{{EmbedInteractiveExample("pages/js/symbol-split.html")}}{{js_property_attributes(0,0,0)}} + +## Ejemplos + +### División inversa personalizada + +```js +class ReverseSplit { + [Symbol.split](string) { + const array = string.split(' '); + return array.reverse(); + } +} + +console.log('Another one bites the dust'.split(new ReverseSplit())); +// resultado esperado: [ "dust", "the", "bites", "one", "Another" ] +``` + +## Especificaciones + +{{Specifications}} + +## Compatibilidad con navegadores + +{{Compat}} + +## Véase también + +- [Polyfill de `Symbol.split` en `core-js`](https://github.com/zloirock/core-js#ecmascript-symbol) +- {{jsxref("Symbol.match")}} +- {{jsxref("Symbol.replace")}} +- {{jsxref("Symbol.search")}} +- {{jsxref("RegExp.@@split", "RegExp.prototype[@@split]()")}} + diff --git a/files/es/web/javascript/reference/global_objects/symbol/toprimitive/index.md b/files/es/web/javascript/reference/global_objects/symbol/toprimitive/index.md new file mode 100644 index 00000000000000..555ff28ee11c59 --- /dev/null +++ b/files/es/web/javascript/reference/global_objects/symbol/toprimitive/index.md @@ -0,0 +1,64 @@ +--- +title: Symbol.toPrimitive +slug: Web/JavaScript/Reference/Global_Objects/Symbol/toPrimitive +translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/toPrimitive +original_slug: Web/JavaScript/Reference/Global_Objects/Symbol/toPrimitive +browser-compat: javascript.builtins.Symbol.toPrimitive +--- +{{JSRef}} + +El **`Symbol.toPrimitive`** es un símbolo que especifica una propiedad con valor de función que se llama para convertir un objeto en un valor primitivo correspondiente. + +{{EmbedInteractiveExample("pages/js/symbol-toprimitive.html")}} + +## Descripción + +Con la ayuda de la propiedad `Symbol.toPrimitive` (utilizada como valor de la función), se puede convertir un objeto en un valor primitivo. La función se llama con un argumento de cadena `hint`, que especifica el tipo preferido del valor primitivo resultante. El argumento `hint` puede ser uno de los siguientes: "`number`", "`string`" y "`default`". + +{{js_property_attributes(0,0,0)}} + +## Ejemplos + +### Modificar los valores primitivos convertidos desde un objeto + +El siguiente ejemplo describe cómo la propiedad `Symbol.toPrimitive` puede modificar el valor primitivo convertido desde un objeto. + +```js +// Un objeto sin la propiedad Symbol.toPrimitive. +const obj1 = {}; +console.log(+obj1); // NaN +console.log(`${obj1}`); // "[object Object]" +console.log(obj1 + ''); // "[object Object]" + +// Un objeto con la propiedad Symbol.toPrimitive. +const obj2 = { + [Symbol.toPrimitive](hint) { + if (hint == 'number') { + return 10; + } + if (hint == 'string') { + return 'hello'; + } + return true; + } +}; +console.log(+obj2); // 10 — hint es "number" +console.log(`${obj2}`); // "hello" — hint es "string" +console.log(obj2 + ''); // "true" — hint es "default" +``` + +## Especificaciones + +{{Specifications}} + +## Compatibilidad con navegadores + +{{Compat}} + +## Véase también + +- {{jsxref("Date.@@toPrimitive", "Date.prototype[@@toPrimitive]")}} +- {{jsxref("Symbol.@@toPrimitive", "Symbol.prototype[@@toPrimitive]")}} +- {{jsxref("Object.prototype.toString()")}} +- {{jsxref("Object.prototype.valueOf()")}} + diff --git a/files/fr/_redirects.txt b/files/fr/_redirects.txt index 5bd28524a2b297..a640e935c54697 100644 --- a/files/fr/_redirects.txt +++ b/files/fr/_redirects.txt @@ -3768,7 +3768,7 @@ /fr/docs/Web/API/Element/accessKey /fr/docs/Web/API/HTMLElement/accessKey /fr/docs/Web/API/Element/innertHTML /fr/docs/Web/API/Element/innerHTML /fr/docs/Web/API/Element/name /fr/docs/Web/API -/fr/docs/Web/API/Element/ongotpointercapture /fr/docs/Web/API/GlobalEventHandlers/ongotpointercapture +/fr/docs/Web/API/Element/ongotpointercapture /fr/docs/Web/API/Element/gotpointercapture_event /fr/docs/Web/API/Element/onwheel /fr/docs/Web/API/Element/wheel_event /fr/docs/Web/API/Element/removeChild /fr/docs/Web/API/Node/removeChild /fr/docs/Web/API/Element/select_event /fr/docs/Web/API/HTMLInputElement/select_event @@ -3799,6 +3799,7 @@ /fr/docs/Web/API/GlobalEventHandlers/onclose /fr/docs/Web/API/HTMLDialogElement/close_event /fr/docs/Web/API/GlobalEventHandlers/ondblclick /fr/docs/Web/API/Element/dblclick_event /fr/docs/Web/API/GlobalEventHandlers/onfocus /fr/docs/Web/API/Window/focus_event +/fr/docs/Web/API/GlobalEventHandlers/ongotpointercapture /fr/docs/Web/API/Element/gotpointercapture_event /fr/docs/Web/API/GlobalEventHandlers/onkeydown /fr/docs/Web/API/Element/keydown_event /fr/docs/Web/API/GlobalEventHandlers/onkeypress /fr/docs/Web/API/Element/keypress_event /fr/docs/Web/API/GlobalEventHandlers/onkeyup /fr/docs/Web/API/Element/keyup_event @@ -3817,7 +3818,7 @@ /fr/docs/Web/API/HTMLElement/animationend_event /fr/docs/Web/API/Element/animationend_event /fr/docs/Web/API/HTMLElement/animationiteration_event /fr/docs/Web/API/Element/animationiteration_event /fr/docs/Web/API/HTMLElement/animationstart_event /fr/docs/Web/API/Element/animationstart_event -/fr/docs/Web/API/HTMLElement/transitionend_event /fr/docs/conflicting/Web/API/Element/transitionend_event +/fr/docs/Web/API/HTMLElement/transitionend_event /fr/docs/Web/API/Element/transitionend_event /fr/docs/Web/API/HTMLFormElement/submit_event_ /fr/docs/Web/API/HTMLFormElement/submit_event /fr/docs/Web/API/HTMLOrForeignElement/blur /fr/docs/Web/API/HTMLElement/blur /fr/docs/Web/API/HTMLOrForeignElement/dataset /fr/docs/Web/API/HTMLElement/dataset @@ -4549,7 +4550,7 @@ /fr/docs/Web/Events/storage /fr/docs/Web/API/Window/storage_event /fr/docs/Web/Events/submit /fr/docs/Web/API/HTMLFormElement/submit_event /fr/docs/Web/Events/touchend /fr/docs/Web/API/Document/touchend_event -/fr/docs/Web/Events/transitionend /fr/docs/conflicting/Web/API/Element/transitionend_event +/fr/docs/Web/Events/transitionend /fr/docs/Web/API/Element/transitionend_event /fr/docs/Web/Events/unload /fr/docs/Web/API/Window/unload_event /fr/docs/Web/Guide/AJAX/Communauté /fr/docs/Web/Guide/AJAX/Community /fr/docs/Web/Guide/AJAX/Premiers_pas /fr/docs/Web/Guide/AJAX/Getting_Started @@ -4799,7 +4800,7 @@ /fr/docs/Web/JavaScript/Reference/Erreurs/Bad_return_or_yield /fr/docs/Web/JavaScript/Reference/Errors/Bad_return_or_yield /fr/docs/Web/JavaScript/Reference/Erreurs/Called_on_incompatible_type /fr/docs/Web/JavaScript/Reference/Errors/Called_on_incompatible_type /fr/docs/Web/JavaScript/Reference/Erreurs/Cant_access_lexical_declaration_before_init /fr/docs/Web/JavaScript/Reference/Errors/Cant_access_lexical_declaration_before_init -/fr/docs/Web/JavaScript/Reference/Erreurs/Cant_access_property /fr/docs/conflicting/Web/JavaScript/Reference/Errors/Unexpected_type +/fr/docs/Web/JavaScript/Reference/Erreurs/Cant_access_property /fr/docs/Web/JavaScript/Reference/Errors/Unexpected_type /fr/docs/Web/JavaScript/Reference/Erreurs/Cant_assign_to_property /fr/docs/Web/JavaScript/Reference/Errors/Cant_assign_to_property /fr/docs/Web/JavaScript/Reference/Erreurs/Cant_define_property_object_not_extensible /fr/docs/Web/JavaScript/Reference/Errors/Cant_define_property_object_not_extensible /fr/docs/Web/JavaScript/Reference/Erreurs/Cant_delete /fr/docs/Web/JavaScript/Reference/Errors/Cant_delete @@ -4867,7 +4868,7 @@ /fr/docs/Web/JavaScript/Reference/Erreurs/in_operator_no_object /fr/docs/Web/JavaScript/Reference/Errors/in_operator_no_object /fr/docs/Web/JavaScript/Reference/Erreurs/invalid_right_hand_side_instanceof_operand /fr/docs/Web/JavaScript/Reference/Errors/invalid_right_hand_side_instanceof_operand /fr/docs/Web/JavaScript/Reference/Erreurs/is_not_iterable /fr/docs/Web/JavaScript/Reference/Errors/is_not_iterable -/fr/docs/Web/JavaScript/Reference/Errors/Cant_access_property /fr/docs/conflicting/Web/JavaScript/Reference/Errors/Unexpected_type +/fr/docs/Web/JavaScript/Reference/Errors/Cant_access_property /fr/docs/Web/JavaScript/Reference/Errors/Unexpected_type /fr/docs/Web/JavaScript/Reference/Fonctions /fr/docs/Web/JavaScript/Reference/Functions /fr/docs/Web/JavaScript/Reference/Fonctions/Définition_de_méthode /fr/docs/Web/JavaScript/Reference/Functions/Method_definitions /fr/docs/Web/JavaScript/Reference/Fonctions/Fonctions_fléchées /fr/docs/Web/JavaScript/Reference/Functions/Arrow_functions @@ -6166,6 +6167,7 @@ /fr/docs/conflicting/Web/API/Element/mouseout_event /fr/docs/Web/API/Element/mouseout_event /fr/docs/conflicting/Web/API/Element/mouseover_event /fr/docs/Web/API/Element/mouseover_event /fr/docs/conflicting/Web/API/Element/mouseup_event /fr/docs/Web/API/Element/mouseup_event +/fr/docs/conflicting/Web/API/Element/transitionend_event /fr/docs/Web/API/Element/transitionend_event /fr/docs/conflicting/Web/API/EventTarget/addEventListener /fr/docs/Web/API/EventTarget/addEventListener /fr/docs/conflicting/Web/API/File_and_Directory_Entries_API /fr/docs/Web/API/File_and_Directory_Entries_API /fr/docs/conflicting/Web/API/FormData/Using_FormData_Objects /fr/docs/Web/API/FormData/Using_FormData_Objects @@ -6282,6 +6284,7 @@ /fr/docs/conflicting/Web/JavaScript/Guide/Introduction_6f341ba6db4b060ccbd8dce4a0d5214b /fr/docs/Web/JavaScript/Guide/Introduction /fr/docs/conflicting/Web/JavaScript/Guide/Regular_Expressions/Assertions /fr/docs/Web/JavaScript/Guide/Regular_Expressions/Assertions /fr/docs/conflicting/Web/JavaScript/Inheritance_and_the_prototype_chain /fr/docs/Web/JavaScript/Inheritance_and_the_prototype_chain +/fr/docs/conflicting/Web/JavaScript/Reference/Errors/Unexpected_type /fr/docs/Web/JavaScript/Reference/Errors/Unexpected_type /fr/docs/conflicting/Web/JavaScript/Reference/Global_Objects /fr/docs/Web/JavaScript/Reference/Global_Objects /fr/docs/conflicting/Web/JavaScript/Reference/Global_Objects/Array/toString /fr/docs/Web/JavaScript/Reference/Global_Objects/Array/toString /fr/docs/conflicting/Web/JavaScript/Reference/Global_Objects/ArrayBuffer /fr/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer diff --git a/files/fr/_wikihistory.json b/files/fr/_wikihistory.json index 1f21f66cc005d0..0f4bc5533b00d6 100644 --- a/files/fr/_wikihistory.json +++ b/files/fr/_wikihistory.json @@ -13796,6 +13796,12 @@ "Fredchat" ] }, + "Web/API/Element/gotpointercapture_event": { + "modified": "2020-10-15T22:16:22.004Z", + "contributors": [ + "fmartin5" + ] + }, "Web/API/Element/hasAttribute": { "modified": "2019-03-23T23:53:10.754Z", "contributors": [ @@ -15038,12 +15044,6 @@ "ylerjen" ] }, - "Web/API/GlobalEventHandlers/ongotpointercapture": { - "modified": "2020-10-15T22:16:22.004Z", - "contributors": [ - "fmartin5" - ] - }, "Web/API/GlobalEventHandlers/onload": { "modified": "2019-03-23T23:45:30.027Z", "contributors": [ diff --git a/files/fr/conflicting/web/api/element/transitionend_event/index.md b/files/fr/conflicting/web/api/element/transitionend_event/index.md deleted file mode 100644 index 18893089aca2ee..00000000000000 --- a/files/fr/conflicting/web/api/element/transitionend_event/index.md +++ /dev/null @@ -1,150 +0,0 @@ ---- -title: transitionend -slug: conflicting/Web/API/Element/transitionend_event -tags: - - DOM - - Event - - TransitionEvent - - Transitions CSS - - Transitions CSS3 - - transitionend -translation_of: Web/API/HTMLElement/transitionend_event -original_slug: Web/API/HTMLElement/transitionend_event ---- -{{APIRef}} - -L'événement **`transitionend`** est déclenché lorsqu'une [transition CSS](/en-US/docs/CSS/Using_CSS_transitions) est terminée. Dans le cas où une transition est supprimée avant la fin, par exemple si {{cssxref ("transition-property")}} est supprimé ou {{cssxref ("display")}} est défini sur `none`, alors l'événement ne pourra pas être généré. - -Bulles | -Oui | -
---|---|
Annulable | -Oui | -
Interface | -{{domxref("TransitionEvent")}} | -
Propriété de gestionnaire d'événements | -- {{domxref("GlobalEventHandlers/ontransitionend", "ontransitionend")}} - | -