Skip to content

Instantly share code, notes, and snippets.

@MenarSelamet
Forked from hiba-machfej/NEA - scope.md
Created February 20, 2024 13:00
Show Gist options
  • Save MenarSelamet/22dcb6f52ec8c1c6db3e8fca5862f5c3 to your computer and use it in GitHub Desktop.
Save MenarSelamet/22dcb6f52ec8c1c6db3e8fca5862f5c3 to your computer and use it in GitHub Desktop.

Scopes Discussion

1. What is the scope of variable GLOBAL_DATA in the example below:

<script>
  let GLOBAL_DATA = { value : 1};
</script>

Pretend in the console, that we type: console.log(GLOBAL_DATA);

2. What is the scope of variable x in the examples below:

let x = 1;
{ 
  let x = 2;
}
console.log(x);
var x = 1;
{ 
  var x = 2;
}
console.log(x);

3. What is the scope of variable x in the examples below:

function outerFn(){
    let x = 1;
    function log(){
      console.log(x);
    };
    function run(fn){
      let x = 100;
      fn();
    }
    run(log);
};
outerFn();

4. What do we call this method of scoping:

let x0 = 0;
function fn1(){
  let x1 = 1;
  fn2();
  function fn2(){
    let x2 = 2;
    fn3();
    function fn3(){
      let x3 = 3;
      console.log(x0 + " " + x1 + " " + x2 + " " + x3);
    };
  };
};
fn1();

5. What is the difference between global scope and other scope types and when do we use the global scope?

6. What is the difference between let and var defining a variable?

7. What is the difference between strict mode and sloppy mode?

@Mizu4life
Copy link

Group: Zainab Alnajjar | Aya Hasan | Barham Baper | Kanyaw Yousif | Ninos Dinkha

  1. global scope
  2. global scope when using let, error when using var (it have scope problems)
  3. the main function scope (x=1)

@schinak-m
Copy link

  1. global scope
  2. will print out 1 and 2
  3. its a function scope and will print out 1
  4. Its called a lexical scoping
  5. a global scope is when we can access a variable everywhere in our program but in a local scope it can only be accessed within a specific scope and cant be accessed from the outside. we use global scope when we need to access a variable everywhere.

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