Scientia Conditorium

[혼공단] 혼자 공부하는 자바스크립트 / 혼공단 11기 - 3주차 본문

서평/IT-책

[혼공단] 혼자 공부하는 자바스크립트 / 혼공단 11기 - 3주차

크썸 2024. 1. 17. 22:19

[기본 미션] 비파괴적 처리와 파괴적 처리의 의미와 장단점 설명하기

  • 비파괴적 처리
    • 처리 후에 원본 내용이 변경되지 않음
    • 자료의 원본 보호
    • 메모리 낭비될 수 있음
  • 파괴적 처리
    • 처리 후에 원본 내용이 변경됨
    • 메모리 절약 가능
    • 원본이 사라지기 때문에 위험함

 

[선택 미션] p.173 확인 문제 3번 문제 풀고, 풀이 과정 설명하기

3-1. 비파괴적처리 : strA 원본 유지

 

3-2. 파괴적 처리 : 배열 arrayB 원본 변경

 

3-3. 비파괴적 처리 : 배열 arrayC 원본 유지

 

3-4. 비파괴적 처리 : 문자열 strD 원본 유지

 

 


 

3주차 간략 소감

이번 학습에서 자바스크립트 언어에 대해 안 좋은 감정이 생겼다. 파괴/비파괴처리에 관한 내용 때문이다. 개념 자체는 간단하다. 원본이 바뀌느냐 안 바뀌느냐만 따지면 된다. 문제는 const 키워드 때문이다. 위에 선택미션3-2를 예로 들어보자. "const arrayB" 로 선언했다면 이 배열은 바뀌지 않아야 되는것이 아닌가?! 배열로 선언했기 때문에 언제든지 바뀔 수 있다는 것이 이해가 안된다. 이럴꺼면 앞에 const는 왜 붙인거지?!

 

적당히 다른 사람들의 블로그를 찾아보니 배열을 가리키는 포인터만 상수취급을 한다는 것이다. C++ 로 따지자면 int* const 느낌이다. 이러니 포인터 모르는 사람들을 헷갈려하고 어떤 메서드가 비파괴니 파괴니를 다 외워야될지도...어우

괜히 타입스크립트가 떠오르고 있는게 아니였구나를 느꼈다.