Skip to content

Latest commit

 

History

History
68 lines (48 loc) · 1.26 KB

File metadata and controls

68 lines (48 loc) · 1.26 KB

Code reading

Question 1

Take a look at the following code:

1    let x = 1;
2    function f1()
3    {
4        let x = 2;
5        console.log(x);
6    }
7    console.log(x);

Explain why line 4 and line 6 output different numbers. The console log on line 5 is for the x that is inside the function while the console log on line 7 is for the x on line 1 with a global scope

Question 2

Take a look at the following code:

let x = 10

function f1()
{
    console.log(x)
    let y = 20
}

console.log(f1())
console.log(y)

What will be the output of this code. Explain your answer in 50 words or less.

line 33 will print 10 as the local scope can read from the global scope but line 34 will be undefined as the global scope cannot read the local scope variables

Question 3

Take a look at the following code:

const x = 9;

function f1(val) {
  val = val + 1;
  return val;
}

f1(x);
console.log(x);

const y = { x: 9 };

function f2(val) {
  val.x = val.x + 1;
  return val;
}

f2(y);
console.log(y);

What will be the output of this code. Explain your answer in 50 words or less. x is a constant variable so can't be changed, y is also a constant variable but because y is an object, the type can never be changed but the values within the object can.