SlideShare una empresa de Scribd logo
ES6
Valores por default en argumentos
Valores por default en argumentos
● En EcmaScript 6 podemos recibir valor por omisión o default en los
parámetros de las funciones. Pueden ser definidos como variables
primitivas, funciones, expresiones o arreglos.
Valores por default en argumentos
function multiplicar(a, b) {
b = typeof b !== 'undefined' ? b : 1;
return a*b;
}
multiplicar(5); // 5
Valores por default en argumentos
function multiplicar(a, b = 1) {
return a*b;
}
multiplicar(5); // 5
Valores por default en argumentos
function f (x, y = 7, z = 42) {
return x + y + z
}
f(1) === 50
Valores por default en argumentos
function cambiaFondo(elemento, color = 'yellow') {
elemento.style.backgroundColor = color;
}
cambiaFondo(algunDiv); // color configurado a 'yellow'
cambiaFondo(algunDiv, undefined); // color configurado a 'yellow' también
cambiaFondo(algunDiv, 'blue'); // color configurado a 'blue'
Valores por default en argumentos
function agregar(valor, arreglo = []) {
arreglo.push(valor);
return arreglo;
}
agregar(1); //[1]
agregar(2); //[2], no [1, 2]
Valores por default en argumentos
function llamarAlgo(cosa = algo()) { return cosa; }
function algo(){
return "Hola";
}
llamarAlgo(); //hola
Valores por default en argumentos
function f(x=1, y) {
return [x, y];
}
f(); // [1, undefined]
Valores por default en argumentos
function f([x, y] = [1, 2], {z: z} = {z: 3}) {
return x + y + z;
}
f(); // 6
ES6
Argumentos extendidos
Argumentos extendidos
● Extended Parameter Handling
● Rest Parameter
● Aggregation of remaining arguments into single parameter of variadic
functions.
function f (x, y, ...a) {
return (x + y) * a.length
}
f(1, 2, "hello", true, 7) === 9
Referencias
http://es6-features.org/#DefaultParameterValues
https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Funciones/P
arametros_por_defecto

Más contenido relacionado

Destacado

Nuevos Métodos en ES6
Nuevos Métodos en ES6Nuevos Métodos en ES6
Nuevos Métodos en ES6
Francisco Javier Arce Anguiano
 
Literales octales y binarias:
Literales octales y binarias: Literales octales y binarias:
Literales octales y binarias:
Francisco Javier Arce Anguiano
 
Nuevas características de los objetos en JavaScript ES6
Nuevas características de los objetos en JavaScript ES6Nuevas características de los objetos en JavaScript ES6
Nuevas características de los objetos en JavaScript ES6
Francisco Javier Arce Anguiano
 
El nuevo objeto para internacionalización y localización Intl
El nuevo objeto para internacionalización y localización IntlEl nuevo objeto para internacionalización y localización Intl
El nuevo objeto para internacionalización y localización Intl
Francisco Javier Arce Anguiano
 
El nuevo tipo de datos "símbolo" o "symbol"
El nuevo tipo de datos "símbolo" o "symbol"El nuevo tipo de datos "símbolo" o "symbol"
El nuevo tipo de datos "símbolo" o "symbol"
Francisco Javier Arce Anguiano
 
Mejoras en las expresiones regulares
Mejoras en las expresiones regularesMejoras en las expresiones regulares
Mejoras en las expresiones regulares
Francisco Javier Arce Anguiano
 
La programación orientada a objetos con JavaScript ES6
La programación orientada a objetos con JavaScript ES6La programación orientada a objetos con JavaScript ES6
La programación orientada a objetos con JavaScript ES6
Francisco Javier Arce Anguiano
 
Objetos de propagación o ...spread
Objetos de propagación o ...spreadObjetos de propagación o ...spread
Objetos de propagación o ...spread
Francisco Javier Arce Anguiano
 

Destacado (8)

Nuevos Métodos en ES6
Nuevos Métodos en ES6Nuevos Métodos en ES6
Nuevos Métodos en ES6
 
Literales octales y binarias:
Literales octales y binarias: Literales octales y binarias:
Literales octales y binarias:
 
Nuevas características de los objetos en JavaScript ES6
Nuevas características de los objetos en JavaScript ES6Nuevas características de los objetos en JavaScript ES6
Nuevas características de los objetos en JavaScript ES6
 
El nuevo objeto para internacionalización y localización Intl
El nuevo objeto para internacionalización y localización IntlEl nuevo objeto para internacionalización y localización Intl
El nuevo objeto para internacionalización y localización Intl
 
El nuevo tipo de datos "símbolo" o "symbol"
El nuevo tipo de datos "símbolo" o "symbol"El nuevo tipo de datos "símbolo" o "symbol"
El nuevo tipo de datos "símbolo" o "symbol"
 
Mejoras en las expresiones regulares
Mejoras en las expresiones regularesMejoras en las expresiones regulares
Mejoras en las expresiones regulares
 
La programación orientada a objetos con JavaScript ES6
La programación orientada a objetos con JavaScript ES6La programación orientada a objetos con JavaScript ES6
La programación orientada a objetos con JavaScript ES6
 
Objetos de propagación o ...spread
Objetos de propagación o ...spreadObjetos de propagación o ...spread
Objetos de propagación o ...spread
 

Más de Francisco Javier Arce Anguiano

HTML5 API WebSQL Database: DML: Data Manipulation Language
HTML5 API WebSQL Database: DML: Data Manipulation LanguageHTML5 API WebSQL Database: DML: Data Manipulation Language
HTML5 API WebSQL Database: DML: Data Manipulation Language
Francisco Javier Arce Anguiano
 
HTML5 API WebSQL Database: Funciones de agregado
HTML5 API WebSQL Database: Funciones de agregadoHTML5 API WebSQL Database: Funciones de agregado
HTML5 API WebSQL Database: Funciones de agregado
Francisco Javier Arce Anguiano
 
WebSQl DataBase HTML5-dql - data query language
WebSQl DataBase HTML5-dql - data query languageWebSQl DataBase HTML5-dql - data query language
WebSQl DataBase HTML5-dql - data query language
Francisco Javier Arce Anguiano
 
Las etiquetas estructurales en html5
Las etiquetas estructurales en html5Las etiquetas estructurales en html5
Las etiquetas estructurales en html5
Francisco Javier Arce Anguiano
 
Los metadatos de HTML5
Los metadatos de HTML5Los metadatos de HTML5
Los metadatos de HTML5
Francisco Javier Arce Anguiano
 
El doctype de HTML5
El doctype de HTML5El doctype de HTML5
El doctype de HTML5
Francisco Javier Arce Anguiano
 
Historia de HTML5
Historia de HTML5Historia de HTML5
SQLite y PHP: DQL - data query language
SQLite y PHP: DQL - data query languageSQLite y PHP: DQL - data query language
SQLite y PHP: DQL - data query language
Francisco Javier Arce Anguiano
 
Introducción a SQLite 3 y PHP
Introducción a SQLite 3 y PHPIntroducción a SQLite 3 y PHP
Introducción a SQLite 3 y PHP
Francisco Javier Arce Anguiano
 
Crear el perfil provisional para desarrollar aplicaciones iOS
Crear el perfil provisional para desarrollar aplicaciones iOSCrear el perfil provisional para desarrollar aplicaciones iOS
Crear el perfil provisional para desarrollar aplicaciones iOS
Francisco Javier Arce Anguiano
 
Identificar el dispositivo para desarrollar en iOS
Identificar el dispositivo para desarrollar en iOSIdentificar el dispositivo para desarrollar en iOS
Identificar el dispositivo para desarrollar en iOS
Francisco Javier Arce Anguiano
 
Crear un ID para la aplicación iOS
Crear un ID para la aplicación iOSCrear un ID para la aplicación iOS
Crear un ID para la aplicación iOS
Francisco Javier Arce Anguiano
 
Crear un certificado P12 para desarrollar en iOS
Crear un certificado P12 para desarrollar en iOSCrear un certificado P12 para desarrollar en iOS
Crear un certificado P12 para desarrollar en iOS
Francisco Javier Arce Anguiano
 
Crear certificado CSR para iOS
Crear certificado CSR para iOSCrear certificado CSR para iOS
Crear certificado CSR para iOS
Francisco Javier Arce Anguiano
 
Crear una cuenta de desarrollador para iOS
Crear una cuenta de desarrollador para iOSCrear una cuenta de desarrollador para iOS
Crear una cuenta de desarrollador para iOS
Francisco Javier Arce Anguiano
 
Apuntes: SublimeText 3
Apuntes: SublimeText 3Apuntes: SublimeText 3
Apuntes: SublimeText 3
Francisco Javier Arce Anguiano
 
Apuntes; Aptana Studio 3
Apuntes;  Aptana Studio 3Apuntes;  Aptana Studio 3
Apuntes; Aptana Studio 3
Francisco Javier Arce Anguiano
 
Apuntes: manejo de eventos en javascript
Apuntes: manejo de eventos en javascriptApuntes: manejo de eventos en javascript
Apuntes: manejo de eventos en javascript
Francisco Javier Arce Anguiano
 
Apuntes: los objetos del navegador de Javascript
Apuntes: los objetos del navegador de JavascriptApuntes: los objetos del navegador de Javascript
Apuntes: los objetos del navegador de Javascript
Francisco Javier Arce Anguiano
 
Apuntes: Arreglos y objetos en JavaScript
Apuntes: Arreglos y objetos en JavaScriptApuntes: Arreglos y objetos en JavaScript
Apuntes: Arreglos y objetos en JavaScript
Francisco Javier Arce Anguiano
 

Más de Francisco Javier Arce Anguiano (20)

HTML5 API WebSQL Database: DML: Data Manipulation Language
HTML5 API WebSQL Database: DML: Data Manipulation LanguageHTML5 API WebSQL Database: DML: Data Manipulation Language
HTML5 API WebSQL Database: DML: Data Manipulation Language
 
HTML5 API WebSQL Database: Funciones de agregado
HTML5 API WebSQL Database: Funciones de agregadoHTML5 API WebSQL Database: Funciones de agregado
HTML5 API WebSQL Database: Funciones de agregado
 
WebSQl DataBase HTML5-dql - data query language
WebSQl DataBase HTML5-dql - data query languageWebSQl DataBase HTML5-dql - data query language
WebSQl DataBase HTML5-dql - data query language
 
Las etiquetas estructurales en html5
Las etiquetas estructurales en html5Las etiquetas estructurales en html5
Las etiquetas estructurales en html5
 
Los metadatos de HTML5
Los metadatos de HTML5Los metadatos de HTML5
Los metadatos de HTML5
 
El doctype de HTML5
El doctype de HTML5El doctype de HTML5
El doctype de HTML5
 
Historia de HTML5
Historia de HTML5Historia de HTML5
Historia de HTML5
 
SQLite y PHP: DQL - data query language
SQLite y PHP: DQL - data query languageSQLite y PHP: DQL - data query language
SQLite y PHP: DQL - data query language
 
Introducción a SQLite 3 y PHP
Introducción a SQLite 3 y PHPIntroducción a SQLite 3 y PHP
Introducción a SQLite 3 y PHP
 
Crear el perfil provisional para desarrollar aplicaciones iOS
Crear el perfil provisional para desarrollar aplicaciones iOSCrear el perfil provisional para desarrollar aplicaciones iOS
Crear el perfil provisional para desarrollar aplicaciones iOS
 
Identificar el dispositivo para desarrollar en iOS
Identificar el dispositivo para desarrollar en iOSIdentificar el dispositivo para desarrollar en iOS
Identificar el dispositivo para desarrollar en iOS
 
Crear un ID para la aplicación iOS
Crear un ID para la aplicación iOSCrear un ID para la aplicación iOS
Crear un ID para la aplicación iOS
 
Crear un certificado P12 para desarrollar en iOS
Crear un certificado P12 para desarrollar en iOSCrear un certificado P12 para desarrollar en iOS
Crear un certificado P12 para desarrollar en iOS
 
Crear certificado CSR para iOS
Crear certificado CSR para iOSCrear certificado CSR para iOS
Crear certificado CSR para iOS
 
Crear una cuenta de desarrollador para iOS
Crear una cuenta de desarrollador para iOSCrear una cuenta de desarrollador para iOS
Crear una cuenta de desarrollador para iOS
 
Apuntes: SublimeText 3
Apuntes: SublimeText 3Apuntes: SublimeText 3
Apuntes: SublimeText 3
 
Apuntes; Aptana Studio 3
Apuntes;  Aptana Studio 3Apuntes;  Aptana Studio 3
Apuntes; Aptana Studio 3
 
Apuntes: manejo de eventos en javascript
Apuntes: manejo de eventos en javascriptApuntes: manejo de eventos en javascript
Apuntes: manejo de eventos en javascript
 
Apuntes: los objetos del navegador de Javascript
Apuntes: los objetos del navegador de JavascriptApuntes: los objetos del navegador de Javascript
Apuntes: los objetos del navegador de Javascript
 
Apuntes: Arreglos y objetos en JavaScript
Apuntes: Arreglos y objetos en JavaScriptApuntes: Arreglos y objetos en JavaScript
Apuntes: Arreglos y objetos en JavaScript
 

Último

Clases de Informática primaria para niños de colegios católicos
Clases de Informática primaria para niños de colegios católicosClases de Informática primaria para niños de colegios católicos
Clases de Informática primaria para niños de colegios católicos
mcavero2019
 
fase 4-Estudio de la geometria analitica[1].pptx
fase 4-Estudio de la geometria analitica[1].pptxfase 4-Estudio de la geometria analitica[1].pptx
fase 4-Estudio de la geometria analitica[1].pptx
QuerubinOlayamedina
 
WordPress training basics - básicos de cómo enseñar WordPress
WordPress training basics - básicos de cómo enseñar WordPressWordPress training basics - básicos de cómo enseñar WordPress
WordPress training basics - básicos de cómo enseñar WordPress
Fernando Tellado
 
EXPERIENCIA PROYECTOS STARTUP JAVIER LASA
EXPERIENCIA PROYECTOS STARTUP JAVIER LASAEXPERIENCIA PROYECTOS STARTUP JAVIER LASA
EXPERIENCIA PROYECTOS STARTUP JAVIER LASA
Javier Lasa
 
EduLearnIAappde IAparatodosdisponible.pptx
EduLearnIAappde IAparatodosdisponible.pptxEduLearnIAappde IAparatodosdisponible.pptx
EduLearnIAappde IAparatodosdisponible.pptx
Elizabeth Mejia
 
ayuda en egresos exposición aps 1 grupal
ayuda en egresos exposición aps 1 grupalayuda en egresos exposición aps 1 grupal
ayuda en egresos exposición aps 1 grupal
jesusmedina766305
 
Presentación Arduino, proyecto colectivo
Presentación Arduino, proyecto colectivoPresentación Arduino, proyecto colectivo
Presentación Arduino, proyecto colectivo
juanlemus11122
 
estrategias de aprendizaje con ejemplos
estrategias de aprendizaje  con ejemplosestrategias de aprendizaje  con ejemplos
estrategias de aprendizaje con ejemplos
MarilinPaladines
 
blog.pdf de coceptos de personalidad....
blog.pdf de coceptos de personalidad....blog.pdf de coceptos de personalidad....
blog.pdf de coceptos de personalidad....
JosvilAngel
 
Sistemas-de-Numeración-para-Primero-de-Secundaria.doc
Sistemas-de-Numeración-para-Primero-de-Secundaria.docSistemas-de-Numeración-para-Primero-de-Secundaria.doc
Sistemas-de-Numeración-para-Primero-de-Secundaria.doc
LuisEnriqueCarboneDe
 
Estructuras b-sicas_ conceptos b-sicos de programaci-n.pdf
Estructuras b-sicas_  conceptos b-sicos de programaci-n.pdfEstructuras b-sicas_  conceptos b-sicos de programaci-n.pdf
Estructuras b-sicas_ conceptos b-sicos de programaci-n.pdf
edepjuanorozco
 
Los derechos de autor y Ética Profesional
Los derechos de autor y Ética ProfesionalLos derechos de autor y Ética Profesional
Los derechos de autor y Ética Profesional
bgonzalezm20
 
FISICA IMPRIMIR MATERIAL ACADEMICO NIVEL SECUNDARIO
FISICA IMPRIMIR MATERIAL ACADEMICO NIVEL SECUNDARIOFISICA IMPRIMIR MATERIAL ACADEMICO NIVEL SECUNDARIO
FISICA IMPRIMIR MATERIAL ACADEMICO NIVEL SECUNDARIO
DarwinNestorArapaQui
 

Último (13)

Clases de Informática primaria para niños de colegios católicos
Clases de Informática primaria para niños de colegios católicosClases de Informática primaria para niños de colegios católicos
Clases de Informática primaria para niños de colegios católicos
 
fase 4-Estudio de la geometria analitica[1].pptx
fase 4-Estudio de la geometria analitica[1].pptxfase 4-Estudio de la geometria analitica[1].pptx
fase 4-Estudio de la geometria analitica[1].pptx
 
WordPress training basics - básicos de cómo enseñar WordPress
WordPress training basics - básicos de cómo enseñar WordPressWordPress training basics - básicos de cómo enseñar WordPress
WordPress training basics - básicos de cómo enseñar WordPress
 
EXPERIENCIA PROYECTOS STARTUP JAVIER LASA
EXPERIENCIA PROYECTOS STARTUP JAVIER LASAEXPERIENCIA PROYECTOS STARTUP JAVIER LASA
EXPERIENCIA PROYECTOS STARTUP JAVIER LASA
 
EduLearnIAappde IAparatodosdisponible.pptx
EduLearnIAappde IAparatodosdisponible.pptxEduLearnIAappde IAparatodosdisponible.pptx
EduLearnIAappde IAparatodosdisponible.pptx
 
ayuda en egresos exposición aps 1 grupal
ayuda en egresos exposición aps 1 grupalayuda en egresos exposición aps 1 grupal
ayuda en egresos exposición aps 1 grupal
 
Presentación Arduino, proyecto colectivo
Presentación Arduino, proyecto colectivoPresentación Arduino, proyecto colectivo
Presentación Arduino, proyecto colectivo
 
estrategias de aprendizaje con ejemplos
estrategias de aprendizaje  con ejemplosestrategias de aprendizaje  con ejemplos
estrategias de aprendizaje con ejemplos
 
blog.pdf de coceptos de personalidad....
blog.pdf de coceptos de personalidad....blog.pdf de coceptos de personalidad....
blog.pdf de coceptos de personalidad....
 
Sistemas-de-Numeración-para-Primero-de-Secundaria.doc
Sistemas-de-Numeración-para-Primero-de-Secundaria.docSistemas-de-Numeración-para-Primero-de-Secundaria.doc
Sistemas-de-Numeración-para-Primero-de-Secundaria.doc
 
Estructuras b-sicas_ conceptos b-sicos de programaci-n.pdf
Estructuras b-sicas_  conceptos b-sicos de programaci-n.pdfEstructuras b-sicas_  conceptos b-sicos de programaci-n.pdf
Estructuras b-sicas_ conceptos b-sicos de programaci-n.pdf
 
Los derechos de autor y Ética Profesional
Los derechos de autor y Ética ProfesionalLos derechos de autor y Ética Profesional
Los derechos de autor y Ética Profesional
 
FISICA IMPRIMIR MATERIAL ACADEMICO NIVEL SECUNDARIO
FISICA IMPRIMIR MATERIAL ACADEMICO NIVEL SECUNDARIOFISICA IMPRIMIR MATERIAL ACADEMICO NIVEL SECUNDARIO
FISICA IMPRIMIR MATERIAL ACADEMICO NIVEL SECUNDARIO
 

Valores por default en argumentos