일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- webpack
- docker
- Clone
- bash
- Python
- npm
- generic
- loop
- vuetify
- condition
- C#
- vue.js
- 앙상블
- VUE
- nginx
- machine learning
- leetcode
- JavaScript
- BOJ
- var
- git
- AI
- C++
- TypeScript
- property
- security
- 보안
- scss
- type
- dotenv
- Today
- Total
ice rabbit programming
[JS] 자바스크립트의 데이터 타입(2) 본문
지난 글에서 설명한 String, Number, Function 타입에 이어서 데이터 타입에 대해 다루려 하는데, 내용이 많을 것 같지는 않다.
네 번째 타입은 Array 타입이다. 배열은 여느 언어에 있는 것과 같이 [같은 타입, 같은 크기]의 변수들을 묶어서 보관하는 타입이다.
var arr = [] // ok
var fruit = ["apple", "banana"]; // ok
var fruit2 = ["apple", "banana", 1]; // 타입이 다르므로 error
console.log(fruit); // 배열 자체
console.log(fruit[0]); // 배열의 첫 번째 index 값
위 fruit 배열과 같이 사용하는 것이 일반적이며, fruit2에서는 같은 타입이라는 규칙에 위배되므로 에러가 난다. 앞의 apple과 banana는 문자열, 1은 숫자이기 때문이다.
C/C++/C#/Java 등을 사용하신 분들은
int arr[5];
와 같은 선언이 익숙하실 텐데, 자바에서는 우변에서 대괄호를 사용하여 Array 타입임을 나타낸다.
다섯 번째 타입은 Object(객체) 타입이다. 객체도 여러 가지 정보를 담는데, 배열과는 다르게 다른 타입들을 담을 수 있다. 크게 Property와 Method로 구성된다.
var student {
// Property
name : "DH",
age : 26,
skills : ["C#", "C++"],
// Method
sum : function(num1, num2) {
return num1+num2;
}
}
console.log(student.name); // 멤버 접근
console.log(student['name']); // 멤버 접근, JSON과 같다
student 객체 안에 name, age, skills이라는 Property와 sum이라는 Method를 가진다.
여섯 번째와 일곱 번째 타입은 undefined와 null이다.
undefined는 변수를 아직 초기화시키지 않아 알 수 없는 상태이고, null은 사용자가 임의로 값을 입력하지 않은 상태이다. 즉, undefined는 아직 변수가 초기화 되지 않은 경우이고, null은 사용자가 빈 값이라고 명시한 것이다.
var und; // undefined
var empty = null // null
마지막 여덟 번째 타입은 Boolean이다. 별 다른 것은 없고, 타 언어에서와 마찬가지로 True와 False를 가진다.
var t = true;
var f = false;
어느 정도의 객체 지향 개념 등을 알고 있다고 가정한 필자 블로그의 C# 글과는 달리, 자바스크립트는 필자도 정리를 겸하여 기초 강좌를 다시 한 번 듣고 있기 때문에 쉽다고 생각하는 내용도 다소 들어가있을 수 있다. 이미 아는 내용이면 빠르게 스킵을 권한다. 다만 기초적 내용이므로 최소한 1부(?)의 끝까지는 기초적인 내용이 나올 것이다.
'Development > JavaScript' 카테고리의 다른 글
[Node.js] npm cache 해결 (3) | 2020.09.27 |
---|---|
[JS] JavaScript의 기본 문법 (0) | 2020.06.06 |
[JS] 데이터 타입의 프로퍼티와 메소드 (0) | 2020.05.27 |
[JS] JS의 간략한 소개와 데이터 타입(1) (0) | 2020.05.04 |
[JavaScript] Eval과 getOwnPropertyNames() (0) | 2020.04.15 |