[TCP School/자바스크립트] 타입 - 기본 타입
타입(type)이란 프로그램에서 다룰 수 있는 값의 종류를 의미한다.
자바스크립트에서는 여러 가지 형태의 타입을 미리 정의하여 제공하고 있으며, 이것을 기본 타입이라고 한다.
자바스크립트의 기본 타입은 크게 원시 타입과 객체 타입으로 구분할 수 있다.
원시 타입(primitive type)은 다음과 같다.
1. 숫자(number)
2. 문자열(string)
3. 불리언(boolean)
4. 심볼(symbol) (ECMAScript 6부터 제공됨)
5. undefined
객체 타입(object type)은 다음과 같다.
1. 객체(object)
숫자(number)
자바스크립트는 다른 언어와 달리 정수와 실수를 따로 구분하지 않고, 모든 수를 실수 하나로만 표현한다.
또한, 매우 큰 수나 매우 작은 수를 표현할 경우 e 표기법을 사용할 수 있다.
var firstNum = 10; // 소수점을 사용하지 않은 표현
var secondNum = 10.00; // 소수점을 사용한 표현
var thirdNum = 10e6; // 10000000
var fourthNum = 10e-6; // 0.00001
문자열(string)
자바스크립트에서 문자열은 큰따옴표("")나 작은따옴표('')로 둘러싸인 문자의 집합을 의미한다.
큰따옴표는 작은따옴표로 둘러싸인 문자열에만 포함될 수 있으며, 작은따옴표는 큰따옴표로 둘러싸인 문자열에만 포함될 수 있다.
var firstStr = "이것도 문자열입니다." // 큰 따옴표를 이용한 문자열
var secondStr = '이것도 문자열입니다.' // 작은 따옴표를 이용한 문자열
var thirdStr = "나의 이름은 '홍길동'이야." // 작은 따옴표는 큰 따옴표로 둘러싸인 문자열에만 포함될 수 있음
var fourthStr = '나의 이름은 "홍길동"이야.' // 큰 따옴표는 작은 따옴표로 둘러싸인 문자열에만 포함될 수 있음
자바스크립트에서는 숫자와 문자열을 더할 수도 있다.
이럴 경우에 자바스크립트는 숫자를 문자열로 자동 형변환하여, 두 문자열을 연결하는 연산을 수행한다.
var num = 10;
var str = "JavaScript";
var result = (num + str); // 10JavaScript
불리언(boolean)
불리언 값은 참(true)과 거짓(false)을 표현한다.
자바스크립트에서 불리언 값은 예약어인 true와 false를 사용하여 나타낼 수 있다.
var firstNum = 10;
var secondNum = 11;
document.write(fisrtNum == secondNum); // false
심볼(Symbol)
심볼 타입은 ECMAScript 6부터 새로 추가된 타입이다.
심볼은 유일하고 변경할 수 없는 타입으로, 객체의 프로퍼티를 위한 식별자로 사용할 수 있다.
var sym = Symbol("javascript"); // symbol 타입
var symObj = Object(sym); // object 타입
심볼 타입은 익스플로러에서 지원하지 않는다.
typeof 연산자
typeof 연산자는 피연산자의 타입을 나타내는 문자열을 반환한다.
typeof 10; // number 타입
typeof "문자열"; // string 타입
typeof true; // boolean 타입
typeof undefined; // undefined 타입
typeof null; // object 타입
null과 undefined
자바스크립트에서 null이란 object 타입이며, 아직 '값'이 정해지지 않은 것을 의미한다.
반면 undefined는 null과 달리 '타입'이 정해지지 않은 것을 의미한다.
따라서 자바스크립트에서 undefined는 초기화되지 않은 변수나 존재하지 않는 값에 접근할 때 반환된다.
var num; // 값이 초기화되지 않았기 때문에 undefined가 반환됨.
var str = null; // object 타입의 null 값
typeof secondNum; // 정의되지 않은 변수에 접근하면 undefined 값을 반환함.
null과 undefined는 동등 연산자(==)와 일치 연산자(===)로 비교할 때 그 결과값이 다르기 때문에 주의해야 한다.
null과 undefined는 타입을 제외하면 같은 의미이지만, 타입이 다르므로 일치하지는 않는다.
null == undefined // true
null === undefined // false
객체(object)
자바스크립트의 기본 타입은 객체(object)이다.
객체란 실생활에서 우리가 인식할 수 있는 사물로 이해할 수 있다.
객체는 여러 프로퍼티(property)나 메소드(method)를 같은 이름으로 묶어놓은 일종의 집합체이다.
var dog = {name: "해피", age: 3}; // 객체의 생성
// 객체의 프로퍼티 참조
var dogName = dog.name;
var dogAge = dog.age;
TCP School의 강의 내용을 정리한 포스트입니다.
http://www.tcpschool.com/javascript/intro
코딩교육 티씨피스쿨
4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등
tcpschool.com
'공부 > JavaScript' 카테고리의 다른 글
[TCP School/자바스크립트] 타입 - 변수 (0) | 2023.04.17 |
---|---|
[TCP School/자바스크립트] 타입 - 타입 변환 (0) | 2023.04.17 |
[TCP School/자바스크립트] 자바스크립트 적용 (0) | 2023.04.17 |
[TCP School/자바스크립트] 자바스크립트 출력 (0) | 2023.04.17 |
[TCP School/자바스크립트] 자바스크립트 문법 (0) | 2023.04.17 |