Programing

모던 자바스크립트 Deep Dive 6,7,8

하즈시 2022. 1. 25. 10:57
728x90

6장 데이터 타입 

 

자바스크립트에서 모든 값은 데이터 타입을 가짐 

http://preview.kyobobook.co.kr/epubPreviewPopup.jsp?type=web&barcode=4801160504430&search=Y&orderClick=LAT

 

 

6.1 숫자 타입

- 모든 수를 실수로 처리하며 정수 표현용 데이터 타입이 없음 -> 정수 표시가 되도 실은 실수 

- Infinity ,-Infinity , NaN 등이 있음 ( 대소문자 구분하니까 NaN)

 

6.2 문자열 타입 

- 텍스트 데이터 표현 

- 작은 따옴표, 큰 따옴표, 백틱 등으로 감싸면 됨 

- 따옴표로 감싸지 않으면 공백 포함 못 시킴 

- 원시 타입이며 변경 불가능한 값 

 

6.3 템플릿 리터럴 

- `` 백틱을 사용 

- 개행이 허용됨 

- 표현식 삽입시 ${} 를 통해 삽입 가능 

 

6.4 불리언 타입 

- true  false 나타냄 

 

6.5 undefined 타입 

- var로 선언한 변수는 undefined로 초기화 

- 변수 선언 시 초기화까지 빈 값으로 내버려두는 것이 아니라 undefined로 초기화 해둠 

 

6.6 null 타입

- 변수에 값이 없다 

- 더 이상 참조 하지 않는다. 

 

6.7 심벌 타입

- 변경 불가능한 원시 타입 , 유일무이값

- 객체의 유일한 프로퍼티 키 만들 때 사용 

 

6.9 데이터 타입 필요성 

- 값을 저장할 때 확보할 메모리 크기 결정

- 값 참조할 때 한번에 읽을 메모리 크기 결정

- 메모리에서 읽은 2진수 해석방법 결정 

 

6.10 동적 타이핑 

- 자바스크립트는 변수 선언시 타입 정의를 하지 않고 var, let, const 키워드 사용해 변수 선언 

- 어떤 데이터 값이라도 자유롭게 하당 가능 

- 선언이 아닌 할당에 의해 타입이 결정 

 

6.10.2 동적 타입 언어와 변수 

- 언제든 변수 값 변경이 가능해 추적이 어렵

- 유연성은 높으나 신뢰성이 떨어짐 

 


7장 연산자 

 

하나 이상의 표현식을 대상으로 산술, 할당, 비교, 논리, 타입, 지수 연산등을 수행하여 하나의 값으로 만든다 

 

7.1 산술 연산자

- 피연산자 대상으로 수학적 계산 수행 

- 계산이 불가능하면 NaN 반환 

 

7.1.1 이항 산술 연산자 

- 2개의 피연산자를 산술하여 연산

- 피연산자 자체 값을 변경하지 않음

 

7.1.2 단항 산술 연산자

- 산술 연산자 1개의 피연산자를 산술

- a- : 양수면 음수로 음수면 양수로 변경 

      : 숫자 형식 문자열을 숫자 / 불리언 ->숫자 / 문자열 -> nan 

 

https://blog.daum.net/hsjeong106/53

 

7.2 할당 연산자 

- 피연산자의 결과를 좌항에 있는 변수에 할당 

https://blog.daum.net/hsjeong106/53

 

 

7.3 비교 연산자

- 좌항과 우항을 비교후 불리언 값으로 반환 

 

7.3.1 동등 일치 비교연산자

- 동등비교와 일치비교가 있고 값만 확인하는가 그 타입까지 확인하는가의 차이 

 

https://velog.io/@skyosk123/%EC%9E%90%EC%A3%BC%EC%93%B0%EB%8A%94-%EC%97%B0%EC%82%B0%EC%9E%90

 

 

7.4 삼항 조건 연산자 

- 조건이 true이면 첫번째 false이면 두번째 값을 사용 

 

https://velog.io/@skyosk123/%EC%9E%90%EC%A3%BC%EC%93%B0%EB%8A%94-%EC%97%B0%EC%82%B0%EC%9E%90

 

 

7.8 typeoof 연산자

- 피연산자의 데이터 타입을 문자열로 반환 

- null의 경우 object로 반환하니까 주의 -> 비교시 typeof가 아닌 === 추천 

 

7.9 지수 연산자 

- 좌항을 밑 , 우항을 지수로 거듭제곱 

- ex  3**2 =9

- ex  Math.pow(3,2)=9

 

 

7.12 연산자 우선순위

https://m.post.naver.com/viewer/postView.nhn?volumeNo=6603962&memberNo=15527418&vType=VERTICAL

 

7.13 연산자 결합 순서

https://www.slideshare.net/circulus_official/2startup-javascript

 

 


8장 제어문 

- 조건에 따라 코드 블록을 실행하거나 반복 

 

8.1 블록문 

- 0개 이상의 문을 중괄호로 묶은 것 

- 하나의 실행 단위 

- 블록문의 끝에는 ; 붙이지 않음 

 

8.2 조건문 

- 주어진 조건식의 평가 결과에 따라 실행을 결정 

 

8.2.1 if..else 문 

- 참과 거짓에 따라 해당 문 실행 

- 조건식은 무조건 불리언 값으로 평가되어야함 

 

8.2.2 switch문 

- 표현식의 값에 따라 case문이 실행 

- 해당 되는 case문이 없다면 default로 실행 

- 각 case마다 break;가 없다면 해당 case 실행후 계속 밑의 case가 실행됨 

 

8.3 반복문 

- 조건식이 참일 경우 해당 조건식이 거짓이 될때까지 반복 

 

8.3.1 for문 

- 조건식이 거짓이 될 때까지 블록을 반복 

https://godvow.tistory.com/15

 

8.3.2 while문

- 반복문의 횟수가 불명확할 때 주로 사용 

-

https://godvow.tistory.com/16

 

8.4 break문 

- 레이블문,반복문,switchans 코드 블록을 탈출 

 

8.5 continue 

- 블록 실행을 현 지점에서 중단하고 다시 반복문의 상단으로 이동 

- 탈출을 하진 않음 

 

 

728x90