0% encontró este documento útil (0 votos)
4 vistas6 páginas

JavaScript Funciones

El documento explica las dos formas principales de crear funciones en JavaScript: declaraciones de funciones y expresiones de funciones, destacando sus diferencias en elevación y asignación a variables. También se aborda la distinción entre funciones y métodos, donde las funciones son bloques de código independientes y los métodos están asociados a objetos en programación orientada a objetos. Además, se discuten las ventajas y limitaciones de las funciones de flecha, así como ejemplos de uso de funciones y métodos en objetos y clases.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
4 vistas6 páginas

JavaScript Funciones

El documento explica las dos formas principales de crear funciones en JavaScript: declaraciones de funciones y expresiones de funciones, destacando sus diferencias en elevación y asignación a variables. También se aborda la distinción entre funciones y métodos, donde las funciones son bloques de código independientes y los métodos están asociados a objetos en programación orientada a objetos. Además, se discuten las ventajas y limitaciones de las funciones de flecha, así como ejemplos de uso de funciones y métodos en objetos y clases.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

JavaScript – function

En JavaScript, hay dos formas principales de crear funciones: expresión de funciones y


declaración de funciones. Aunque ambas permiten definir funciones en tu código, difieren en
cómo se crean y cómo se comportan en términos de elevación (hoisting) y disponibilidad en el
ámbito.

Declaración de Funciones:

La declaración de funciones es una forma más tradicional de crear funciones en JavaScript. Se


utiliza la palabra clave function seguida por un nombre de función y un conjunto de paréntesis
que pueden contener parámetros. Aquí hay un ejemplo:

function sumar(){
[Link](2+2);
}

Las declaraciones de funciones son elevadas (hoisted) en el ámbito en el que se encuentran, lo


que significa que se pueden llamar antes de la definición real en el código. Por ejemplo, puedes
llamar a la función sum antes de su declaración y funcionará sin problemas.

Expresión de Funciones:

La expresión de funciones implica asignar una función anónima (o con nombre) a una variable.
Esto se hace utilizando la sintaxis var/let/const nombreFuncion = function(parámetros) { ... } o
mediante la notación de funciones flecha (() => {...}). Aquí hay un ejemplo de una expresión de
función con notación de función flecha:

const sumar2 = function(){


[Link](2+2);
}

Las expresiones de funciones no son elevadas en el ámbito en el que se encuentran. Deben


declararse antes de usarse. Intentar llamar a una expresión de función antes de su definición
resultará en un error.

Diferencias Clave:

1. Elevación (Hoisting): Las declaraciones de funciones son elevadas en su ámbito, lo que


significa que pueden llamarse antes de su definición en el código. Las expresiones de funciones
no son elevadas y deben declararse antes de ser utilizadas.

2. Asignación a Variables: Las expresiones de funciones se pueden asignar a variables, lo que


permite una mayor flexibilidad y composición en tu código.
Diferencia entre funciones y métodos
En programación, los conceptos de función y método están estrechamente relacionados, pero
se utilizan en contextos ligeramente diferentes según el paradigma de programación que estés
utilizando, como la programación orientada a objetos (POO) o la programación funcional.

Función:
Una función es un bloque de código que realiza una tarea específica y puede aceptar entradas
(argumentos) y devolver una salida (valor de retorno). Las funciones son componentes
fundamentales de la programación y se utilizan para modularizar el código, hacerlo más legible
y reutilizable. En la programación funcional, las funciones son tratadas como ciudadanos de
primera clase y pueden ser pasadas como argumentos a otras funciones y devueltas como
valores.

Método:
Un método es una función que está asociada con un objeto o una clase en el contexto de la
programación orientada a objetos (POO). Los métodos son acciones o comportamientos
específicos que un objeto puede realizar. Están definidos en la definición de una clase y se
invocan en una instancia (objeto) de esa clase. Los métodos pueden acceder a los datos internos
(propiedades) del objeto en el que se invocan.

Diferencias clave:
1. Contexto: Una función puede existir de manera independiente y no está necesariamente
vinculada a un objeto o clase en particular. Un método, por otro lado, está vinculado a un objeto
o una clase y opera en el contexto de ese objeto.

2. Invocación: Una función se invoca directamente usando su nombre, mientras que un método
se invoca en el contexto de un objeto utilizando la notación de punto ([Link]()).

3. Acceso a datos: Los métodos pueden acceder a las propiedades y datos internos de un objeto
en el que se invocan. Las funciones pueden tener acceso a los datos pasados como argumentos,
pero no necesariamente tienen acceso a los datos internos de otros objetos.

4. Programación orientada a objetos:

• El concepto de método es fundamental en la POO y se utiliza para encapsular


comportamientos y acciones específicas de los objetos.
• Las funciones, en contraste, se utilizan en varios paradigmas de programación, incluida
la programación funcional.

Una función es un bloque de código independiente que realiza una tarea, mientras que un
método es una función asociada con un objeto o una clase en el contexto de la programación
orientada a objetos. Ambos conceptos son esenciales en la programación y se utilizan en
diferentes contextos para lograr diferentes objetivos.
Funciones

// Definición de una función que suma dos números


function sum(a, b) {
return a + b;
}

// Invocación de la función
const result = sum(3, 5); // Resultado: 8

Métodos

// Definición de una clase con un método


class Rectangle {
constructor(width, height) {
[Link] = width;
[Link] = height;
}
// Método para calcular el área del rectángulo
calculateArea() {
return [Link] * [Link];
}
}

// Creación de una instancia de la clase Rectangle


const rect = new Rectangle(4, 6);

// Invocación del método en la instancia


const area = [Link](); // Resultado: 24
Arrow function
Las funciones de flecha (arrow functions) en JavaScript tienen varias ventajas que las hacen
populares y útiles en comparación con las funciones tradicionales definidas con la sintaxis
convencional de function. Aquí hay algunas de las principales ventajas de las funciones de flecha:

1. Sintaxis más concisa: Las funciones de flecha permiten una sintaxis más compacta y legible,
lo que resulta en un código más limpio y fácil de entender.

2. Ligadura del valor this simplificada: En las funciones tradicionales, el valor de this puede variar
dependiendo de cómo se llama a la función. Las funciones de flecha mantienen el valor de this
del contexto en el que se definen, lo que puede evitar confusiones y errores.

3. No tienen su propio this, arguments, super o [Link]: Esto las hace especialmente útiles
en situaciones donde es deseable que el valor de this sea el mismo que en el ámbito
circundante.

4. No necesitan la palabra clave return para retornar valores: Si la función de flecha contiene
solo una expresión, esa expresión se devuelve implícitamente como resultado de la función.

5. Ideal para funciones anónimas y devoluciones de llamada: Las funciones de flecha son
ideales para funciones cortas y funciones pasadas como argumentos a otras funciones, como
en métodos como map, filter, reduce, entre otros.

6. No tienen asociado el objeto arguments: Esto puede simplificar el manejo de argumentos


en funciones, ya que las funciones de flecha no tienen un objeto arguments propio.

7. Buena para contextos de programación funcional: Debido a su sintaxis y comportamiento


simplificado, las funciones de flecha son populares en programación funcional y en la creación
de flujos de datos.

8. Mejor rendimiento en algunas situaciones: Debido a su sintaxis más simple y la falta de


propiedades dinámicas, en algunos casos las funciones de flecha pueden ser más eficientes en
términos de rendimiento que las funciones tradicionales.

Aunque las funciones de flecha tienen muchas ventajas, también es importante tener en
cuenta sus limitaciones. Por ejemplo, debido a la falta de su propio this, no son adecuadas para
ser utilizadas como métodos en objetos, y pueden no ser la elección correcta en situaciones
donde se requiera el uso de this dinámico o el acceso a propiedades del objeto arguments.
Ejemplo Objeto Constructor

function producto (descripcion, precio)


{
[Link] = descripcion;
[Link] = precio;

[Link] = function () {
[Link](El producto: ${[Link]} tiene un costo de:
${[Link]})
}

[Link] = () => {
return [Link];
}
}

const prod = new producto('Lenovo 110', 1000);


[Link]([Link]())
[Link]([Link]())

Ejemplo Objeto Literal

const persona = {
nombre:,
saludar: function(){
[Link](Hola ${[Link]});
},
despedirse: () => {
[Link](Chau amigos...)
}
}
En las clases

class Rectangulo{
constructor(ancho, alto) {
[Link] = alto;
[Link] = ancho;
}
calcularArea(){
return [Link]*[Link];
}
get altoRect(){
return [Link];
}

mostrar = () => {
[Link]('Este es un rectangulo de ' + [Link]);
}
}

const r = new Rectangulo(10,10);


[Link]([Link]());
[Link]([Link])
[Link]()

También podría gustarte