문제 1. 다음 코드의 실행결과는?
function Cat(name, age){
  this.name = name;
  this.age = age;
}
const tabby1 = Cat('nana', 7);
console.log(tabby1.name)'nana'가 출력된다.
빈 문자열이 출력된다.
undefined가 출력된다.
오류가 발생한다.
문제 2. 다음 코드의 실행결과는?
(function(name){
  console.log(`hello ${name}`)
})('roto')함수가 선언되기만 하고 아무 일도 일어나지 않는다.
'hello'만 출력이 된다.
'hello roto'가 출력된다.
오류가 발생한다.
문제 3. 다음 코드의 실행결과는?
var idiots = {
  name: 'idiots',
  genre: 'punk rock',
  members: {
    roto: {
      memberName: 'roto',
      play: function() {
        console.log(`band ${this.name} ${this.memberName} play start`)
      }
    }
  }
}
idiots.members.roto.play()문제 4. 다음 코드를 실행하면 오류가 발생합니다.
오류가 발생하는 원인은 무엇이고
어떻게 해결할 수 있을까요?
function RockBand(members) {
  this.members = members;
  this.perform = function() {
    setTimeout(function() {
      this.members.forEach(function(member){
        member.perform();
      })
    }, 1000)    
  }
}
var theOralCigarettes = new RockBand([
  {
    name: 'takuya',
    perform: function() {
      console.log('Sing: a e u i a e u i')
    }
  }
]);
theOralCigarettes.perform();
문제 5. 다음 코드를 실행하면 숫자가 0부터 4까지 출력이 되지 않고 undefined가 다섯번 출력이
됩니다. 그 이유는 무엇일까요?
const numbers = [0, 1, 2, 3, 4]
for(var i = 0; i < numbers.length; i++) {
  setTimeout(function(){
    console.log(`[${i}] number ${numbers[i]} turn!`)
  }, i * 1000) 
}문제 6. var, let, const의 차이는 무엇인가요?
문제 7. 클로져는 무엇인가요?