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