본문 바로가기

분류 전체보기75

불변값 & 가변값 불변 값 변수(variable)와 상수(constant)를 구분하는 성질은 '변경 가능성'이다. 바꿀 수 있으면 변수, 바꿀 수 없으면 상수이다. 불변 값과 상수를 같은 개념으로 오해하기 쉬운데, 이 둘을 명확히 구분할 필요가 있다. 변수와 상수를 구분 짓는 변경 가능성의 대상은 '변수 영역' 메모리이다. 데이터 할당이 이뤄진 변수 공간에 다른 데이터를 재할당할 수 있는지 여부가 관건이다. 불변성 여부를 구분할 때의 변경 가능성의 대상은 '데이터 영역' 메모리이다. 기본형인 데이터인 숫자, 문자열, boolean, null, undefined, Symbol은 모두 불변 값이다. var a = 'abc'; a = a + 'def'; var b = 5; var c = 5; b = 7; 변수 a에 문자열 'a.. 2020. 7. 27.
메모리와 데이터 컴퓨터는 모든 데이터를 0 또는 1로 바꿔 기억한다. 0 또는 1만 표현할 수 있는 하나의 메모리 조각을 비트(bit)라고 하고, 메모리는 많은 비트들로 구성되어 있다. 각 비트는 고유한 식별자(unique identifier)를 통해 위치를 확인한다. 자주 사용하지 않을 데이터를 표현하기 위해 빈 공간을 남겨놓기보다는 표현 가능한 개수에 어느 정도 제약이 따르더라도 크게 문제가 되지 않을 적정한 공간을 묶는 편이 낫다. 이런 고민의 결과로 바이트(Byte)라는 단위가 생기게 되었다. 1바이트는 8개의 비트로 구성돼 있다. 1비트마다 0 또는 1의 두 가지 값을 표현할 수 있으므로 1바이트는 총 256(2^8) 개의 값을 표현할 수 있다. 2바이트는 비트 16개이므로 65536(2^16) 개의 값을 표현.. 2020. 7. 27.
ES6 에서의 추가된 Javscript 데이터 타입 및 기본 데이터 타입 데이터 타입 . 기본형, 참조형으로 나누어져 있다. ES6으로 들어오면서 추가된 데이터형은 파란색 글씨인 Symbol , Map, WeakMap, Set, WeakSet 이다. 참조형과 기본형은 어떻게 구분하는 것일까? 기본형은 할당이나 연산시 복제가 되고, 참조형은 참조된다고 알려져 있다. 엄밀히 말하면 둘다 복제하지만, 기본형은 값이 담긴 주솟값은 바로 복제하는 반면 참조형은 값이 담긴 주솟값들로 이루어진 묶음을 가리키는 주소값을 복제한다는 점이 다른점이다. 기본형은 불변성(immutablility)를 띈다. 기본형인 숫자 10을 담은 변수 a에 다시 숫자 15를 담으면 a의 값은 15로 바뀌는데, '변하지 않는다' 라는게 어떤 뜻일까? 불변성을 이해하려면, 메모리, 데이터에 대한 지식이 필요하고, .. 2020. 7. 27.
Core JavaScript 코어 자바스크립트라는 책이다. 자바스크립트를 이전에도 한번 공부한적이 있었는데, 백엔드 부분을 공부하기전 먼저 자바스크립트의 원리 이해를 한번 더 공부하고 싶어서 샀다. 2020. 7. 27.