freeCodeCamp/curriculum/challenges/spanish/02-javascript-algorithms-an.../es6/prevent-object-mutation.spa...

2.7 KiB

id title challengeType videoUrl localeTitle
598f48a36c8c40764b4e52b3 Prevent Object Mutation 1 Prevenir la mutación de objetos

Description

Como se vio en el desafío anterior, la declaración const por sí sola no protege realmente sus datos de la mutación. Para garantizar que sus datos no cambien, JavaScript proporciona una función Object.freeze para evitar la mutación de datos. Una vez que el objeto está congelado, ya no puede agregar, actualizar o eliminar propiedades de él. Cualquier intento de cambiar el objeto será rechazado sin un error.
vamos obj = {
nombre: "FreeCodeCamp",
revisión: "impresionante"
};
Object.freeze (obj);
obj.review = "malo"; // será ignorado. Mutación no permitida
obj.newProp = "Test"; // será ignorado. Mutación no permitida
console.log (obj);
// {nombre: "FreeCodeCamp", revisión: "Impresionante"}

Instructions

En este desafío, Object.freeze para evitar que Object.freeze las constantes matemáticas. MATH_CONSTANTS congelar el objeto MATH_CONSTANTS para que nadie pueda alterar el valor de PI , agregar o eliminar propiedades.

Tests

tests:
  - text: No reemplace la palabra clave <code>const</code> .
    testString: 'getUserInput => assert(getUserInput("index").match(/const/g), "Do not replace <code>const</code> keyword.");'
  - text: <code>MATH_CONSTANTS</code> debe ser una variable constante (usando <code>const</code> ).
    testString: 'getUserInput => assert(getUserInput("index").match(/const\s+MATH_CONSTANTS/g), "<code>MATH_CONSTANTS</code> should be a constant variable (by using <code>const</code>).");'
  - text: No cambie los <code>MATH_CONSTANTS</code> originales.
    testString: 'getUserInput => assert(getUserInput("index").match(/const\s+MATH_CONSTANTS\s+=\s+{\s+PI:\s+3.14\s+};/g), "Do not change original <code>MATH_CONSTANTS</code>.");'
  - text: <code>PI</code> es igual a <code>3.14</code> .
    testString: 'assert(PI === 3.14, "<code>PI</code> equals <code>3.14</code>.");'

Challenge Seed

function freezeObj() {
  "use strict";
  const MATH_CONSTANTS = {
    PI: 3.14
  };
  // change code below this line


  // change code above this line
  try {
    MATH_CONSTANTS.PI = 99;
  } catch( ex ) {
    console.log(ex);
  }
  return MATH_CONSTANTS.PI;
}
const PI = freezeObj();

Solution

// solution required