Preventing Data From Mutation with Freeze Method (javascript mutation)

In JavaScript, we declare variables with CONST when we want to protect it from mutation. But CONST declaration alone is not enough to protect really.

Firstly let’s see data protection with CONST:

As you see there is an alternative way to mutate CONST data. So what about if you really wat your data to be frozen?

You can use Object.freeze for arrays but ES5 can freeze only objects and throws an error. ES6 enables to freeze non-objects, too.

Freeze method also blocks push, pop, shift and unshift methods 🙂

Finding Factorial of a Number with JavaScript

First of all we must understand the meaning of factorial:

The factorial function multiply all numbers from our chosen number down to 1.

For instance:

  • 3! = 3 x 2! = 3 x 2 x 1 = 6
  • 5! = 5 x 4! = 5 x 4 x 3 x 2 x 1 = 120
  • 1! = 1
  • 0! = 1

Way of thinking:

  • We need a recursive function to calculate multiply of ordered numbers.
  • We must return 1 when we get 0 and we must stop recursive function.

How to Hide API Keys of Your JavaScript Projects?

While developing SPA project, we sometimes need to use API keys. Although it is possible to hide these API keys with .ENV file importing method, you must find another method on production process because of the fact that:

  • .env files’ content are visible to client when they investigate your .js files.
  • .env importing is used for when you want to hide api key on Github 🙂

Quick fix for this problem:

You can try to create a new express.js project to get request from your client then forward this request this to 3rd party endpoint with API key (on backend side).

After it gets response from 3rd party endpoint, your express.js backend project must forward this response to you.

Here you can find my solution and steps:

  1. We integrate express pack (npm install express)
  2. Install helmet pack for possible security problems (npm install helmet)
  3. Use axios for get and post steps (npm install axios)