console.log

[모던 자바스크립트 Deep Dive] 10 - 12 장 Self Quiz 본문

개발공부/JavaScript

[모던 자바스크립트 Deep Dive] 10 - 12 장 Self Quiz

foresight 2023. 8. 19. 21:19
  1. 다음 중 프로퍼티 접근방법으로 옳지 않은 것을 모두 고르시오.
var person = {
  myname: "Lee",
  "last-name": "Jisoo",
  "123name": "123name",
  age: 20,
};
  • person.’last-name’
  • person[myname]
  • person.last-name
  • person[’123name’]

 

정답
 person.’last-name’
 - `SyntaxError`  person[’last-name’]
 person[myname]
 - `ReferenceError` person.myname
 person.last-name
 - `NaN`  person[’last-name’]    ( `-` 를 연산자로 취급 )



  1. 다음 결과는 ?
var score = 100;

var copy = score;

score = 60;

console.log(score, copy);

 

정답
60, 100


🔸 값에 의한 전달은 원시 값이 복사되어 다른 메모리 공간에 저장된다.



  1. 다음 결과는 ?
const o = { x: { y: 1 } };

const c1 = { ...o };

const _ = require("lodash");
const c2 = _.cloneDeep(o);

consloe.log(c1.x === o.x); // 1.
consloe.log(c2.x === o.x); // 2.

 

정답
1. true
2. false


🔸 깊은 복사와 얕은 복사의 차이점
    
    얕은 복사는 한 단계만 복사
    깊은 복사는 중첩되어 있는 객체까지 모두 복사



4. 다음 결과는 ?

console.dir(add); // 1.
console.dir(sub); // 2.

console.log(add(2, 5)); // 3.
console.log(sub(2, 5)); // 4.

function add(x, y) {
  return x + y;
}

var sub = function (x, y) {
  return x - y;
};

 

정답
1. f add(x, y)
2. undefined
3. 7
4. TypeError


🔸 함수 선언문과 함수 표현식의 함수 생성 시점 차이
    
    함수 선언문은 함수 호이스팅에 의해 먼저 선언 됨
    함수 표현식은 변수 호이스팅에 의해 undefined로 초기화 됨



5. 다음 중 옳지 않은 것은 ?

  1. 매개변수는 함수가 호출될 때 생성된다.
  2. 매개변수의 스코프는 함수 내부이다.
  3. 초과된 인수는 그냥 버려진다.
  4. 매개변수는 적을수록 좋다.

 

정답
3


초과된 인수는 arguments 객체 프로퍼티로 보관된다.