Skip to the content.

Maneres de definir una variable

Anem a veure les diferents maneres de definir una variable en JS.

Variables constants

La definim amb:

const foo = 'bar';

No es pot reasignar el valor de la variable foo. És a dir, que no podem fer:

foo = 'new_value';

Però sí que podem fer:

const foo = {
  prop1: 'hey',
  prop2: 'woho'
};

foo.prop1 = 'hey que tal';

Utilitzant var

Si definim una variable de la següent forma:

var foo = 'bar';

Aquesta variable passa a ser global dins del bloc de la funció en que es troba.

Utilitzant let

Si definim una variable utilitzant la paraula reservada let, aquesta variable nomès estarà disponible dins del scope actual. És per això que és preferible utilitzar let en comptes de var, si la variable només ha de ser accedida dins del scope en que es declarada.

Diferència entre var i let

Com desestructurar un objecte

Si tenim:

const obj = {
  prop1: 'ha',
  prop2: 'he',
  prop3: 'hi',
  prop4: 'ho',
  prop5: 'hu'
};

Podem fer el següent:

const { prop1, prop2, prop4 } = obj;

I tindrem disponibles les variables prop1, prop2 i prop4 amb el valor que tenen dins de l’objecte obj.

console.log(prop1);

Valor per defecte en una desestructuració

Podem definir un valor per defecte en una desestructuració, de manera que si aquella propietat és undefined, se li asigni un valor per defecte.

Si tenim:

const obj = {
  prop1: 'ha',
  prop2: 'he',
  prop3: 'hi',
  prop4: 'ho',
  prop5: 'hu'
};

const { prop1, prop7 = 'pa' } = obj;

En aquest cas, com que no existeix la propietat prop7 dins de l’objecte obj, la constant prop7 tindrà el valor per defecte. En aquest exemple pa.

Enllaç útil: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment

Obtenir la clau d’un objecte a partir del valor d’una variable

Si per exemple fem:

const foo = 'field1';

const obj = {
    [foo]: 'bar',
    field2: 'fuu'
}

L’objecte obj quedaria de la següent manera:

{
    field1: 'bar',
    field2: 'fuu'
}