06장 데이터 타입
: 자바스크립트는 7개의 데이터 타입을 제공하며 이는 원시 타입과 객체 타입으로 나뉜다.
구분 | 데이터타입 |
---|---|
원시 타입 | 숫자,문자열,불리언, undefined, null, 심벌 |
객체 타입 | 배열, 함수 , 객체 등 |
06.01. 숫자타입
: 부동소수점 형식에 따른 숫자타입, 모든 수를 실수 로 처리
- 숫자타입은 추가적인 3가지 특별한 값도 표현
- Infinity : 양의무한대
- -Infinity : 음의무한대
- NaN : 산술 연산 불가(not-a-number)
06.02. 문자열타입
: ''나 ""나 ``을 사용하여 텍스트를 감싸서 사용한다.
06.03. 템플릿 리터럴
- 템플릿 리터럴은 멀티라인 문자열(줄바꿈허용) , 표현식삽입 , 태그드 템플릿 등 문자열 처리 기능을 제공
- 백틱(``)을 사용해서 표현하며 줄바꿈, 공백, 변수 넣는것을 허용
- 단, 특수기호나 줄바꿈 등을 넣을때는 백슬래시(\ )로 시작하는 이스케이프 시퀀스 사용
예시 )
- 멀티라인
var template = 'test\nword'
//test
word
// a' 를 출력하고 싶을때
'a\'' 로 표현하여 특수문자 앞엔 \붙이기
- 표현식 삽입
var last = 'jang'
var name= 'ed'
console.log('My name is' + name + last +'.')
06.04. 불리언 타입
: 참과 거짓을 나타내는 true, false
06.05. undifined 타입
- 변수를 자바스크립트 엔진이 undifined로 초기화
- 그렇다면 변수가 비어있는 경우가 아닌 값이 없다는것을 명시하고 싶을땐 null을 사용
06.06. null 타입
- 개발자가 의도적으로 값이 없다는 것을 알릴때 사용
- 함수가 유효한 값을 반환할 수 없거나 html요소를 검색할 수 없는 경우 null 반환
06.07. 심벌 타입
- 다른 값과 중복 되지 않는 유일무이한 값
- 심벌은 symbol함수를 호출해 생성하며 심벌 값은 외부에 노출되지 않는다.
06.08. 객체 타입
- 자바스크립트를 이루고 있는 거의 모든 것이 객체
06.09. 동적타이핑
- 자바스크립트는 동적타입 언어로 변수를 선언할떄 타입을 선언하지 않아 자유롭게 할당이 가능
- 즉 자바스크립트 변수는 선언이 아닌 할당에 의해 타입이 결정(타입 추론)되며 재할당에 의해 언제든지 바뀔수 있다.
- 이러한 특성때문에 다음과 같은 사항을 주의한다.
1. 변수 값은 재할당에 의해 언제든지 변경될 수 있기에 타입을 잘못 예측해 오류가 발생할 가능성이 크다.
따라서 무분별한 남발은 금지하며 최소한으로 유지한다.
2. 변수의 유효범위는 최대한 좁아야 오류가 최소화한다.
3. 전역변수는 최대한 사용하지 않도록 한다.
4. 변수보다는 상수를 사용해 값의 변경을 억제한다.
5. 변수 이름은 목적이나 의미를 알 수 있도록 네이밍한다.
'FrontEnd_Study > JAVASCRIPT' 카테고리의 다른 글
[자바스크립트 딥다이브] 08장 제어문 (0) | 2023.12.24 |
---|---|
[자바스크립트 딥다이브] 07장 연산자 (0) | 2023.12.24 |
[자바스크립트 딥다이브] 05장 표현식과 문 (1) | 2023.12.21 |
[자바스크립트 딥다이브] 04장 변수 (0) | 2023.12.21 |
[JavaScript] 문법02_값(Value) (0) | 2022.02.21 |