기본 타입
> 타입 (data type)
: 프로그램에서 다룰 수 있는 값의 종류
- 자바스크립트에서 미리 정의하여 제공하는 타입들을 기본 타입이라고 한다
- 기본 타입은 원시 타입(숫자, 문자열, 불리언, 심볼, undefined)과 객체 타입으로 나눌 수 있다
> 숫자 타입 (number type)
- 자바스크립트는 다른 언어와 달리 정수와 실수를 구분하지 않고, 모든 수를 실수로만 표현한다
- 매우 큰 수나 작은 수를 표기할 때는 e 표기법을 사용할 수 있다
var firstNum = 10; // 소수점을 사용하지 않은 표현
var secondNum = 10.00; // 소수점을 사용한 표현
var thirdNum = 10e6; // 10000000
var fourthNum = 10e-6; // 0.00001
> 문자열 타입 (string type)
- 큰따옴표("")나 작은따옴표('')로 둘러싸인 문자의 집합
- 큰따옴표는 작은 따옴표로 둘러싸인 문자열에만 포함될 수 있고, 작은 따옴표는 큰따옴표로 둘러싸인 문자열에만 포함될 수 있다
- 숫자와 문자열을 더하는 경우, 숫자를 문자열로 자동 변환하여 두 문자열을 연결한다
var firstStr = "이것도 문자열입니다."; // 큰따옴표를 사용한 문자열
var secondStr = '이것도 문자열입니다.'; // 작은따옴표를 사용한 문자열
var thirdStr = "나의 이름은 '홍길동'이야." // 작은따옴표는 큰따옴표로 둘러싸인 문자열에만 포함될 수 있음.
var fourthStr = '나의 이름은 "홍길동"이야.' // 큰따옴표는 작은따옴표로 둘러싸인 문자열에만 포함될 수 있음.
var num = 10;
var str = "JavaScript";
document.getElementById("result").innerHTML = (num + str); // 10JavaScript
> 불리언 타입 (boolean type)
- 참(true)과 거짓(false)을 표현한다
- 불리언 값은 예약어인 true와 false를 사용하여 나타낼 수 있다
var firstNum = 10;
var secondNum = 11;
document.getElementById("result").innerHTML = (firstNum == secondNum); // false
> 심볼 타입 (symbol type)
- ECMAScript 6부터 새롭게 추가된 타입
- 유일하고 변경할 수 없는 타입으로, 객체의 프로퍼티를 위한 식별자로 사용 가능하다
- 심볼타입은 익스플로러에서 지원하지 않는다
var sym = Symbol("javascript"); // symbol 타입
var symObj = Object(sym); // object 타입
> null
- object 타입이며, 아직 '값'이 정해지지 않은 것을 의미한다
var str = null; // object 타입의 null 값
> undefined
- null과 달리 '타입'이 정해지지 않은 것을 의미한다
- 초기화되지 않은 변수나 존재하지 않는 값에 접근할 때 반환된다
var num; // 초기화하지 않았으므로 undefined 값을 반환함.
typeof secondNum; // 정의되지 않은 변수에 접근하면 undefined 값을 반환함.
※ null과 undefined
null과 undefined는 의미는 같지만 타입이 다르므로, 동등 연산자(==)와 일치 연산자(===)로 비교할 때 그 결괏값이 달라 주의해야 한다
null == undefined; // true
null === undefined; // false
> 객체 타입 (object type)
- 자바스크립트의 기본 타입
- 객체는 여러 프로퍼티(property)나 메소드(method)를 같은 이름으로 묶어놓은 일종의 집합체이다
var dog = { name: "해피", age: 3 }; // 객체의 생성
// 객체의 프로퍼티 참조
document.getElementById("result").innerHTML =
"강아지의 이름은 " + dog.name + "이고, 나이는 " + dog.age + "살 입니다.";
> typeof 연산자
- 피연산자의 타입을 변환하는 연산자
- 피연산자가 단 하나뿐이다
typeof 10; // number 타입
typeof "문자열"; // string 타입
typeof true; // boolean 타입
typeof undefined; // undefined 타입
typeof null; // object 타입
변수 (variable)
: 데이터(data)를 저장할 수 있는 메모리 공간을 의미하고, 그 값이 변경될 수 있다
> 변수의 선언
- var 키워드를 사용하여 변수를 선언한다
- 선언되지 않은 변수를 사용하려고 하거나 접근하면 오류가 발생한다
- 선언되지 않은 변수를 초기화하면, 자동으로 선언을 먼저 한 후 초기화된다
var month; // month라는 이름의 변수 선언
date = 25; // date라는 이름의 변수를 묵시적으로 선언
> 변수의 초기화
- 선언된 변수는 나중에 초기화할 수도 있고, 선언과 동시에 초기화할 수도 있다
- 쉼표(,) 연산자를 이용하여 여러 변수를 동시에 선언하거나 초기화할 수도 있다
var month; // 변수의 선언
var date = 25; // 변수의 선언과 동시에 초기화
month = 12; // 변수의 초기화
var month, date; // 여러 변수를 한 번에 선언
var hours = 7, minutes = 15; // 여러 변수를 선언과 동시에 초기화
month = 10, date = 5; // 여러 변수를 한 번에 초기화
> 변수의 타입과 초깃값
- 자바스크립트의 변수는 타입이 정해져 있지 않다
- 한 변수에 다른 타입의 값을 여러 번 대입할 수 있지만, 한 번 선언된 변수를 재선언할 수는 없다
- 배열(array) : 여러 값들로 이루어진 하나의 집합
- 선언만 되고 초기화되지 않은 변수는 undefined 값을 가진다
var num = 10; // 변수의 선언과 함께 초기화
num = [10, 20, 30]; // 배열 대입
var num; // 이 재선언문은 무시됨.
var num; // undefined
num = 10; // 10
> 변수의 이름
- 자바스크립트에서 변수는 이름으로 식별하고, 변수의 이름은 식별자(identifier)이다
- 변수 이름은 영문자(대소문자), 숫자, 언더스코어(_), 달러($)로만 구성되고, 숫자로는 시작할 수 없다
- 대소문자를 구분하고, 자바스크립트 언어에서 예약된 키워드는 이름으로 사용할 수 없다
[참고자료] http://tcpschool.com/javascript/intro
'Web > JavaScript' 카테고리의 다른 글
[JavaScript] 자바스크립트 배열(array) : 생성 및 활용 (1) | 2021.08.03 |
---|---|
[JavaScript] 자바스크립트 제어문 : 조건문, 반복문, 루프 제어(label, continue, break) (0) | 2021.07.16 |
[JavaScript] 자바스크립트 연산자 : 산술, 연산자 우선순위, 대입, 증감, 비교, 논리, 비트 연산자 (0) | 2021.07.16 |
[JavaScript] 자바스크립트 타입 : 타입 변환 (0) | 2021.07.14 |
[JavaScript] 자바스크립트 기본 : 개요, 문법, 출력, 적용 (0) | 2021.07.11 |