유명한 담벼락

Weekly-paper 3주차

by 담담이담

- 자바스크립트에서 == 와 === 가 어떻게 다른지 설명해 주세요.

  둘 다 같음 비교 연산에 해당된다.

  1) ==와 !=
  영어로 이야기하면 equal operator이다. 

  숫자형으로 형변환이 일어난 후에 같음 비교를 한다.



10 == 10    // true
10 == '10'  // true
true == 1   // true
true == '1' // true
true == 'true' // false
null == undefined // true





  2) ===와 !===

    영어로 이야기하면 strict equal operator이다. 
    즉, 엄격하게 같음 비교를 한다는 것이다.
    
    

10 === 10   // true

10 === '10' // false

true === 1  // false

true === 'true' // false

null === undefined // false


    
    
 => 안전한 코드를 위해 2)보다는 1)을 추천한다.


- 자바스크립트에서 얕은 복사(Shallow Copy)와 깊은 복사(Deep Copy)에 대해 설명해 주세요.


    1) 얕은 복사
    데이터의 '주소 값'을 복사한다. -> 따라서 같은 주소값을 가지게 된다. 
    즉, 아예 같은 객체를 참조(가르키게)하게 된다는 뜻이다. 
    자바스크립트의 객체나 배열 같은 레퍼런스 자료형을 복사하면 얕은 복사가 발생한다.


    2) 깊은 복사
    데이터의 '실제 값'을 복사한다.
    복사된 두 객체는 완전히 독립적인 메모리를 차지한다. 
    자바스크립트의 기본 자료형을 복사할 때는 깊은 복사가 발생한다.

블로그의 정보

유명한 담벼락

담담이담

활동하기