Section 2: JavaScript Refresher Flashcards

1
Q

Understanding “let” and “const”

A

Let y Const son formas diferentes de crear una variable. Var era la primera forma de variable en Javascript pero con el ES6 se introdujeron Let y Const (son la forma recomendada de trabajar variables); Const para valores constantes y Let para valores mutables.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Arrow Functions

A
Con el ArrowFunction puedo omitir el paréntesis del argumento de la función, siempre y cuando la función tenga un solo argumento.
Si el ArrowFunction solo retorna una línea simple de código, puedo omitir los paréntesis.  Ej: const printMyName = name => console.log(name);
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Exports and Imports

A

Export e import son palabras reservadas que me permiten modular el código, exportándolo desde un documento e importándolo hacia otro.

Si solo hay un elemento en el archivo.js, se convierte automáticamente en nuestro export default. Default es otra palabra reservada para esta tarea.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

NAMED EXPORTS

A

Para hacer exports específicos desde un archivo, hacemos named exports señalando los elementos a exportar por su nombre, entre curly brackets (de esta forma puedo exportar funciones, objetos, etc)

Ej: import { baseData } from ‘from ‘./utility.js’

También puedo exportar múltiples elementos que estén en un mismo archivo:
Ej: import { baseData, clean } from ‘from ‘./utility.js’

También puedo asignar un apodo al elemento que estoy exportando con la palabra reservada AS.

Ej: import { baseData as bD } from ‘from ‘./utility.js’

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Exportar todos los elementos

A

Por otro lado, puedo exportar todos los elementos del archivo js con el caracter especial: * y asignar un apodo al archivo importado:

Ej: import { * as paquete } from ‘from ‘./utility.js

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

¿Qué es una clase?

A

Las Clases son plantillas que nos permiten hacer modelos de objetos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Clases y herencia

A

Las Clases pueden heredar propiedades y métodos de otras clases, para ese fin existe la palabra reservada extends que nos permite indicar función.

Ej: class Person extends Human(){};

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Super Constructor

A

SUPER CONSTRUCTOR
Si estoy extendiendo una clase y estoy usando en ella el método constructor, entonces tengo que añadir el método super() al constructor para inicializar el parent constructor.

Ej: 
class Person extends Human{
  constructor( ){
    super();
      this.name ="jesus";
  }
  printMyName(){
    console.log(this.name);
  }
}
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

SYNTAX PARA INCIALIZAR PROPIEDADES

A

Forma antigua (ES6) para inicializar propiedades:

constructor (){
this.myProperty = ‘value’
}

Forma moderna (ES7) para inicializar propiedades:

myProperty = ’value’

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

SYNTAX PARA INCIALIZAR MÉTODOS

A

Forma antigua (ES6) para inicializar métodos:

myMethod(){…}

Forma moderna (ES7) para inicializar métodos:

myMethod = () => { … }

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

The Spread & Rest Operator [DEFINICIÓN]

A

Realmente es un mismo operador y se escribe así:
… (tres puntos)
y se convierte en Spread o en Rest dependiendo de en dónde lo utilicemos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

The Spread Operator

A
Spread: Es usado para separar elementos de arreglo o propiedades de objetos.
Ej1: const newArray = [...oldArray, 1, 2];

En el ejemplo anterior, el Spread Operator trae todos los elementos del oldArray al newArray, mientras que a su vez, puedo añadir más elementos.

Lo mismo con los objetos: const newObject = (…oldObject, newProp: 5)

NOTA: si había elementos repetidos en el arreglo o en el objeto anterior, serán sobreescritos en el nuevo arreglo u objeto al que se extraen estos elementos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

The Rest Operator

A

Rest: se usa para combinar el grupo de argumentos de una función en un arreglo.

EJ: 
function sortArgs(...args) {
	return args.sort()
}
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Destructuring

A

Mientras Spread toma todos los elementos y los devuelve en un nuevo objeto o arreglo, DESTRUCTURING permite asignarle una variable a los elementos de un arreglo y a las propiedades de un objeto.

EJ: [A, B]=[‘Ernesto’, ‘Fidel’] o {name} = {name: ‘Max’, age: 28}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Reference and Primitive Types

A

Numbers, strings, booleans son conocidos como tipos primitivos. Siempre que reasigno o almaceno una variable en otra variable, la nueva variable copiará el valor.

Por otro lado, objetos y arreglos son tipos de referencia.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

MÉTODOS PARA ARRAY FUNCTIONS

A

map() => El método map() crea un nuevo arreglo poblado con los resultados del CallBack Function que se le asignó, en cada elemento del arreglo al que se aplicó el método.

reduce() => El método reduce() ejecuta un CallBack Function tipo Reducer en cada elemento del arreglo, pasando el valor retornado por el cálculo, al siguiente elemento. El resultado final de correr el reducer a través de todos los elementos del arreglo es un solo valor. (Ej, la suma de todos los elementos del arreglo).

concat() => El método contact() se emplea para combinar dos o más arreglos. Este método no cambia el arreglo existente, sino que crea un nuevo arreglo.

find() => Devuelve el valor del primer elemento que cumpla las condiciones del testing function que se le pase como argumento, de lo contrario devuelve undefined.

findIndex() => Devuelve el index del primer elemento en el arreglo, que cumpla las condiciones del testing function que se le pase como argumento, de lo contrario devuelve -1 indicando que ningún elemento pasó la prueba.

filter() => Crea un nuevo arreglo con todos los elementos que pasen las condiciones del testing function que se le provea.

slice() => devuelve una copia “superficial” de una porción de un arreglo en un nuevo objeto arreglo seleccionado de principio a fin (final no incluído). donde principio y fin representan el index de elementos en el arreglo. El arreglo original no será modificado.

splice() => Cambia el contenido de un arreglo removiendo o reemplazando elementos existentes y/o añadiendo nuevos elementos en su lugar.