본문 바로가기

프로그래밍/JavaScript

[JavaScript 요약 정리] 2. 자료형(Data Type)

2. 자료형

- 자료의 형태

- 총 6가지로 분류(string, number, boolean, function, object, undefined)

- 이 중 숫자, 문자열, 부울은 기본 자료형


1) 문자열 자료형(String)

- 문자를 나열한 자료

- ' ' 혹은 " " 따옴표 사이에 표현, 둘 중 아무거나 사용 가능하지만 일관성 필요

- '문자열1'+'문자열2' 형태로 +연산 가능


- 문자열 내에 따옴표 표현시 두가지를 전부 사용하거나 이스케이프 문자(\) 사용

ex) "문자열 표현: \"문자열\""; or '문자열 표현: "문자열"';

*이스케이프 문자: \t 수평탭 \n 줄바꿈 \' 작은 따옴표 \" 큰 따옴표 \\ 역슬래쉬


- 템플릿 문자열: 문자열 내 표현식을 계산 (ECMAScript 6부터 사용 가능)

양식: '${표현식 혹은 변수}'

ex) '1+10은 ${1+10} 입니다.' 의 결과는 '1+10은 11 입니다.'


2) 숫자 자료형(Integer)

- 자바스크립트에서는 정수형 실수형 구분없이 인식

- 자유롭게 연산자 이용 가능하며 우선순위 적용

ex) 2+3*5=17


3) 부울 자료형(Boolean)

- 참과 거짓을 표현(true or false)

ex) 3 > 2 = true; / 3 < 2 = false;

- 비교연산자: >= <= 이상 이하 / > < 초과 미만 / == 일치 / != 불일치

- 유니코드 문자 코드값을 기준으로 모든 언어의 문자열 비교 가능

ex) 거위 > 화장품 = false (사전 기준 앞쪽일 수록 값이 큼)

- 논리연산자: ! 부정(Not) / && 논리곱(교집합) / || 논리합(합집합)

ex) !true -> false / true&&false -> false / true||false -> true


4) undefined 자료형

- 자료형이 정의되지 않은 경우

- 자료형 확인

속성==undefined -> null일 경우에도 true 반환

속성===undefined -> undefined일 경우에만 true반환

- 활용

!속성 -> "", null, 0, NaN, undefined일 경우 true반환



5) 함수 자료형(Function)

- 주어진 연산을 수행하는 자료형(메소드)

- 선언방법: function 함수명() {코드};

- 사용: 함수명();


6) 객체 자료형(Object)

- 객체로 이루어진 자료 형태

- 객체 내의 키와 값으로 사용 가능

- 형태

var object = { 키1:값1, 키2:값2...};


7) 배열(Array)

- 여러개의 객체를 한꺼번에 다룰 수 있는 자료형

- 배열도 객체 자료형 중 하나(typeof([])로 확인시 object로 출력)

- 형태

var array=[요소1, 요소2, 요소3...];

- 요소에는 모든 자료형 입력 가능(객체, 함수도 포함)

- 인덱스: 0부터 시작하는 배열의 순번,

- 배열의 속성과 메소드

length 속성: 배열의 크기 저장

push(값): 배열에 값 추가


8) 자료형 검사

- typeof(매개변수): 값의 타입을 반환


9) 자료형 변환

- 기본형변환: +를 제외하고 문자열에 숫자를 연산하면 숫자로 변환

문자열+숫자 = 문자열

문자열-숫자 = 숫자

ex) 15+25+"문자열"+15+25의 결과: 40문자열1525

15+25+"문자열"+15-25의 결과: NaN(Not a Number)


- String(값) : 문자열 자료형으로 형변환

- Number(값) : 숫자 자료형으로 형변환

*현재는 parseInt와 parseFloat을 사용

- Boolean(값) : 부울 자료형으로 형변환(조건문 or 논리 부정 연산자 사용시 자동 형변환)

*값에 0, NaN, '', null, undefined 입력시 false 반환, 그 외의 기본값에는 true 반환


10) 기본 자료형

- 문자열, 숫자, 불은 기본 자료형

- 기본 자료형에 속성이나 메소드를 추가하면 객체로 변환됨

- 기본 자료형의 생성자 함수 프로토타입에 추가는 가능