Today I Learn...

  • JSON을 활용한 간단한 깊은 복사

    var copyObjectViaJSON = function (target) {
        return JSON.parse(JSON.stringify(target));
    }
    
    var obj = {
        a: 1,
        b: {
            c: null,
            d: [1,2]
    }
    
    var obj2 = copyObjectViaJSON(obj);
    
    obj2.a = 3;
    obj2.b.c = 4;
    obj.b.d[1] = 3;
    
    console.log(obj); // { a: 1, b: { c: null, d: [1,3] } }
    console.log(obj2); // { a: 3, b: { c: 4, d: [1,2] } }
  • 호이스팅(hoisting / 참고문서2)

    • 자바스크립트 함수는 실행되기 전에 함수 안에 필요한 변수값들을 모두 모아서 유효 범위의 최상단에 선언한다.

    • 함수 안에 존재하는 변수/함수선언에 대한 정보를 기억하고 있다가 실행시킨다.

    • 실제로 코드가 끌어올려지는 건 아니며, 자바스크립트 Parser 내부적으로 끌어올려서 처리하는 것이다.

To-Do

  1. 벨로퍼트와 함께하는 모던 리액트 문서
  2. 자바스크립트 개발자라면 알아야 할 33가지 개념(참고문서 1)
  3. 코어 자바스크립트 / 리액트를 다루는 기술 읽기

참고문서

  1. https://velog.io/@jakeseo_me/2019-03-15-2303-%EC%9E%91%EC%84%B1%EB%90%A8-rmjta5a3xh
  2. https://gmlwjd9405.github.io/2019/04/22/javascript-hoisting.html