1일차 - 2022.03.01

안병욱·2022년 3월 1일
1

소개글

30살이 되는 생일날부터 개발자가 되기위한 여정을 본격적으로 시작합니다.
회독시 복습을 위함과 동시에, 미래에 지금의 나와 같은 사람을 도와드릴 기회가 생겼을 때 참고가 될 글이 되길 바라며 매일 작성 예정입니다.

오늘 공부한 내용 요약

Core JavaScript 기본서를 공부하였음 (데이터 타입)

1) 데이터 타입의 종류

  • 기본형 타입 -> number, string, Boolen, undefined, symbol ....
  • 참조형 타입 -> array, Function, Date, regexp, Map.....

차이점 ->

  • 기본형은 값이 담긴 주솟값을 바로 복제,
    참조형은 값이 담긴 주솟값으로 이루어진 묶음을 가리키는 주솟값을 복제
  • 기본형은 불변성을 띄고 참조형은 가변성이 많으나 불변값 활용 경우도 있음.

2) 데이터 타입에 관한 배경지식

  • 비트 = 0 또는 1만 표현할 수 있는 하나의 메모리 조각
  • 바이트 = 8비트 , 총 256개 값 표현가능
  • 바이트 등장 배경
  1. 비트 단위로 위치를 확인하는건 비효율적
  2. 몇개의 비트를 묶어 하나의 단위로 활용시 표현가능값도 늘어나고 검색시간을 줄일 수 있지만 낭비되는 비트가 생김
  3. 8비트에 해당하는 바이트가 등장
  • 모든 데이터값은 바이트 단위의 식별자 즉, 메모리 주솟값을 통해 서로 연결 가능
  • 변수(변할수 있는 데이터로 숫자, 문자 등) / 식별자(데이터 식별에 사용이름, 변수명)

3) 변수 선언과 데이터 할당

var a = 'abc';

이때 a가 확보한 공간에 바로 abc를 넣지 않고 새로운 공간을 확보해 그곳에 abc를 저장한후 그 주소를 변수영역에 저장함.
이는 변수영역과 데이터 영역을 분리해 중복을 방지함으로써 효율을 높이고 처리속도를 높이기 위함.

  • 숫자형에 비해 문자열은 정해진 규격이 없는데 영어와 한글만 해도 필요 메모리용량이 다르기 때문에 변수와 데이터를 별도의 공간에 나누어 저장해야 효율이 높음.
  • 기존 문자열에 어떤 변환을 가하더라도 새로운 공간을 확보해 저장함.

4) 불변값

  • 문자열, 숫자값 모두 한번 만든 값을 변경할 수 없다. 새로 만드는 동작이 이루어진다.
  • 한번 만들어진 값은 가비지 컬렉팅(자신의 주소를 저장하는 변수가 없어질 경우)가 아닌한 영원히 변하지 않는다

5)

a = 'hello';
console.log(a[0]);

위의 결과 a의 첫 글자인 'h'가 출력되고 위와 같은 문자열의 경우 +만이 적용된다.
-나 *나 /는 적용되지 않음
6자리수는 없으므로 오류가 발생함.

6)

a = 1;
a = a + 1;
console.log(a+1);

위의 결과는 3이다. 밑으로 순차적으로 적용됨

공부하면서 몰랐던 용어

1. 부동소수점형

-> 컴퓨터에서 실수를 표현하기 위해 실수를 근사하여 소수점의 위치를 정하지않고 나타내는 방식으로 실수를 지수부와 가수부로 나누어 저장한다.

2. 지수부 / 가수부

->가수부는 값의 모양, 지수부는 10의 거듭제곱으로 값의 크기를 표현
ex) 123.45 = 1.2345 * 10의 2제곱 ( 12345 가수부, 2 지수부)

3. 컴파일

-> 사람이 이해하는 언어를 0과 1만으로 된 이진코드인 컴퓨터가 이해할 수 있는 언어로 바꾸는 과정

개선 필요

더 집중하고 더 이해하고 더 빠르게 습득해야 할 것


위의 내용은 공부중 본인이 이해한 내용으로 몇몇 틀린 내용이 있을 수 있습니다.
회독중 발견시 수정하겠습니다

profile
working hard

0개의 댓글