기본 타입(data type)
원시 타입(primitive type, 1~5) / 객체 타입(object type, 6)
- 숫자(number)
- 문자열(string)
- 불리언(boolean)
- 심볼(symbol)
- undefined
- 객체(object)
숫자(number)
정수와 실수 구분 없음, 모든 수를 실수 하나로만 표현
매우 큰 수나 작은 수를 표현할 경우 e 표기법을 사용
ex) 10e6 -> 10000000, 10e-6 -> 0.00001
문자열(string)
문자열은 큰따옴표나 작은따옴표로 둘러싸인 문자의 집합
작은따옴표는 큰따옴표 안에서, 큰따옴표는 작은따옴표 안에서만 사용 가능
* 숫자와 문자를 더할 수 있음 : 숫자를 문자열로 자동 변환, 두 문자열을 연결하는 연산을 수행함
불리언(boolean)
참(true)과 거짓(false)을 표현함
예약어 true, false를 사용하여 나타냄
심볼(symbol)
심볼은 유일하고 변경할 수 없는 타입, 객체의 프로퍼티를 위한 식별자로 사용
* 심볼 타입은 익스플로러에서 지원하지 않음
typeof 연산자
피연산자의 타입을 변환하는 연산자, 피연산자는 하나임
null과 undefined
null이란 object 타입이며, 아직 '값'이 정해지지 않은 것을 의미함
또한, undefined란 null과 달리 '타입'이 정해지지 않은 것을 의미함
undefined는 초기화되지 않은 변수나 존재하지 않는 값에 접근할 때 반환됨
* null == undefined : true
null === undefined : false
-> 타입을 제외하면 같은 의미지만, 타입이 다르므로 일치하지는 않음
객체(object)
자바스크립트의 기본 타입
객체(object)란 실생활에서 우리가 인식할 수 있는 사물로 이해할 수 있음
여러 프로퍼티(property)나 메소드(method)를 같은 이름으로 묶어놓은 일종의 집합체
타입 변환
타입 변환(type conversion)
자바스크립트의 변수는 타입이 정해져 있지 않음, 같은 변수에 다른 타입의 값을 다시 대입할 수 있음
묵시적 타입 변환(implicit type conversion)
특정 타입의 값을 기대하는 곳에 다른 타입의 값이 오면, 자동으로 타입을 변환하여 사용함
즉, 문자열 값이 오길 기대하는 곳에 숫자가 오더라도 자바스크립트는 알아서 숫자를 문자열로 변환하여 사용
ex) 뺄셈 연산의 피연산자로 문자열이 오는 경우 숫자로 변환될 수 없는 문자열이 온다면 의미에 맞게 자동으로 탕비을 변환할 수 없으므로, NaN값을 반환함
* NaN : Not a Number을 축약형, 정의되지 않은 값, 표현할 수 없는 값이라는 의미를 가짐
Number 타입의 값으로 0을 0으로 나누거나, 숫자로 변환할 수 없는 피연산자로 산술 연산을 시도하는 경우 반환 되는 읽기 전용 값임
명시적 타입 변환(explicit type conversion)
명시적 타입 변환을 위해 자바스크립트가 제공하느 전역 함수
- Number()
- String()
- Boolean()
- Object()
- parseInt()
- parseFloat()
숫자를 문자열로 변환
가장 간단한 방법은 String() 함수 사용
null과 undefined를 제외한 모든 타입의 값이 가지고 있는 toString() 메소드를 사용할 수 있음
숫자(Number) 객체는 숫자를 문자열로 변환하는 메소드를 별도로 제공
- toExponential() : 정수 부분은 1자리, 소수 부분은 입력받은 수만큼 e 표기법을 사용하여 숫자를 문자열로 변환
- toFixed() : 소수 부분을 입력받은 수만큼 사용하여 숫자를 문자열로 변환
- toPrecsion() : 입력받은 수만큼 유효 자릿수를 사용하여 숫자를 문자열로 변환
* 메소드(method) : 객체의 프로퍼티 값으로 함수를 갖는 프로퍼티
불리언 값을 문자열로 변환
String() 함수와 toString() 메소드를 사용함
ex) String(true) //문자열 "true"
false.toString() //문자열 "false"
날짜를 문자열이나 숫자로 변환
String() 함수와 toString() 메소드를 사용함
날짜(Date) 객체는 날짜를 숫자로 변환하는 메소드를 별도로 제공
- getDate() : 날짜 중 일자를 숫자로 반환 (1 ~ 31)
- getDay() : 날짜 중 요일을 숫자로 반환 (일요일 : 0 ~ 토요일 : 6)
- getFullYear() : 날짜 중 연도를 4자리 숫자로 반환 (yyyy년)
- getMonth() : 날짜 중 월을 숫자로 반환 (1월 : 0 ~ 12월 : 11)
- getTime() : 1970년 1월 1일부터 현재까지의 시간을 밀리초(millisecond) 단위의 숫자로 반환
- getHours() : 시간 중 시를 숫자로 반환 (0 ~ 23)
- getMinutes() : 시간 중 분을 숫자로 반환 (0 ~ 59)
- getSeconds() : 시간 중 초를 숫자로 반환 (0 ~ 59)
- getMilliseconds() : 시간 중 초를 밀리초(millisecond) 단위의 숫자로 반환 (0 ~ 999)
문자열을 숫자로 변환
가장 간단한 방법은 Number() 함수 사용
두 개의 전역 변수 별도로 제공함
- parseInt() : 문자열을 파싱하여 특정 진법의 정수를 반환
- parseFloat() : 문자열을 파싱하여 부동 소수점 수를 반환
불리언 값을 숫자로 변환
Number() 함수 사용
ex) Number(true); // 숫자 1
Number(false); // 숫자 0
변수
변수의 선언과 초기화
변수(variable)란 데이터를 저장할 수 있는 메모리 공간을 의미, 그 값이 변경될 수 있음
var 키워드를 사용하여 변수 선언
선언되지 않은 변수 사용 또는 접근 시 오류 발생
* 선언되지 않은 변수 초기화 시 자동으로 선언 후 초기화 함
변수의 타입과 초깃값
변수 타입이 정해져 있지 않음, 같은 변수에 다른 타입의 값을 다시 대입할 수 있음
한 번 선언된 변수를 재선언할 수는 없음
선언만 되고 초기화 하지 않은 변수는 undefined 값을 가짐
ex) var num=10; //변수 선언, 초기화
num=[10, 20, 30]; //배열 대입
var num; //재선언문 무시됨
'javascript 공부' 카테고리의 다른 글
javascript 연산자 (1) | 2024.04.30 |
---|---|
자바스크립트 시작 (0) | 2024.04.30 |