Skip to content

Instantly share code, notes, and snippets.

@yogain123
Created December 10, 2017 21:07
Show Gist options
  • Save yogain123/6374decfc71d648eeb3c4a4052a9789c to your computer and use it in GitHub Desktop.
Save yogain123/6374decfc71d648eeb3c4a4052a9789c to your computer and use it in GitHub Desktop.
Mordern JavaScript
@yogain123
Copy link
Author

yogain123 commented Feb 25, 2020

Output

In the following code, I expected both a and b to be 3. However, a is undefined and b is 3. Why?

(function(){
var a = b = 3;
})();

console.log(typeof a);//"undefined"
console.log(b);//3



Screen Shot 1941-12-06 at 8 16 36 PM

Actually it is

var a = 3;
b = 3

b = 3 is an assignment without a declaration. Since there is no b in the current execution context (the IIFE), JavaScript engine looks for b in the outer lexical environment. In this case, the outer environment is the global execution context.
Since b is not found in the global execution context either, and assuming non-strict mode, JavaScript implicitly creates b as a property of the global object (e.g., window.b in browsers). This makes b a global variable.

@yogain123
Copy link
Author

Destructuring

Screen Shot 2020-05-14 at 5 09 03 PM

@yogain123
Copy link
Author

yogain123 commented Mar 6, 2022

Prototype


class Hola{
    constructor(){
        this.name="yogendra";
        console.log(this);
    }

    static div(){
        console.log("div");
    }

    sum(){
        console.log("sum");
    }
}

const h = new Hola();

console.log(Object.getPrototypeOf(h))   // {constructor: ƒ, sum: ƒ}

console.log(h.__proto__)   // {constructor: ƒ, sum: ƒ}

console.log(Hola.prototype); // {constructor: ƒ, sum: ƒ}


@yogain123
Copy link
Author

yogain123 commented Aug 6, 2022

Array.at()

Get the value at that position -> index passed
const arr = ["jack","yogi","abc"]
console.log(arr.at(0)) // "jack"
console.log(arr.at(-1)) // "abc"

@yogain123
Copy link
Author

IMG_4256

@yogain123
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment