인프런 자바스크립트 입문 수업을 듣고 중요한 내용을 정리했습니다.
개인 공부 후 자료를 남기기 위한 목적이므로 내용 상에 오류가 있을 수 있습니다.
데이터 타입
- 문자열(String)
let name = "John"; let name2 = 'John';
문자열(String)은 쌍따옴표 혹은 홑따옴표안에 담아야 한다.
<참고 :문자열 안에서 따옴표를 사용하는 경우>let doubleQuote = 'He is called "Johnny"';
문자열 안에서 쌍따옴표를 사용하려면 문자열은 반드시 홑따옴표로 감싸야한다.
let singleQuote = "He is called 'Johnny'";
문자열 안에서 홑따옴표를 사용하려면 문자열은 반드시 쌍따옴표로 감싸야한다.
let doubleQuote2 = "He is called \"Johnny\"";
만약 반드시 문자열을 쌍따옴표로 감싸야하는 코드컨벤션이 존재한다면, 문자열은 쌍따옴표로 감싸고
문자열 안의 쌍따옴표 앞에 역슬래쉬를 함께 써주면 된다.
[여기서 역슬래쉬와 함께 사용된 특수문자(쌍따옴표)는 특수문자가 아닌 일반문자로 인식됨]let singleQuote2 = 'He is called \'Johnny\'';
(위와 동일한 원리)
정리하자면, 자바스크립트의 특수문자를 문자열 안에서 사용하기 위해서는 특수문자 앞에 역슬래쉬를 함께
써주어야 한다. 그래야만 특수문자가 일반문자로 인식되어 에러가 발생하지 않는다.
- 숫자(Number)
let x = 3; let y = 3.14;
숫자(Number)는 따옴표 없이 선언자를 통해 사용하면 된다.
[자바스크립트는 숫자 타입에 상관없이 동일한 선언자로 선언이 가능함 : 해당 특성으로 발생하는 문제가 존재]
- Undefined
let u; let u = undefined;
선언하는 방법은 위의 두 가지 방법이 있으며, 변수에 어떤 값도 선언하지 않는 경우 Undefined값이 뜬다.
자바스크립트에서는 Undefined를 에러가 아닌 하나의 데이터 타입으로 다루고 있다.
- Null
let n = null;
변수에 특정 값이 준비되지 않아 어떠한 값도 할당하지 않는 경우, Null을 할당한다.
Undefined와는 또 다른 데이터 타입이다.
- 객체(Object)
오브젝트의 선언은 크게 두 가지 방법이 사용되며 다음과 같다.
let person = {}; person.firstName = "John"; person.lastName = "Kim"; person.age = 30; let person2 = { firstName: "James", //키 값이 여러개인 경우 쉼표로 구분 lastName: "Kim", age: 30, };
<설명>
1. 오브젝트는 중괄호({})를 사용하여 선언한다.
2. 오브젝트는 키와 벨류로 이루어져 있고, 키는 중복하면 안된다.
3. 만약 키 값이 중복되면 에러는 아니지만, 앞의 키 값이 적용되지 않고 뒤의 키 값으로 대체된다.
4. 처음 오브젝트 선언할 때 없었던 벨류를 다음과 같은 방법으로 추가할 수 있다.
let person2 = { firstName: "John", lastName: "Kim", age: 30, }; person2.email = "kkk@gmail.com"; //오브젝트 선언 이후 벨류를 추가하는 방법
5. 첫 번째 오브젝트 선언방법의 또 다른 방법은 다음과 같다.
let person = {}; person["firstName"] = "John"; person["lasttName"] = "Kim"; person["age"] = 30; //주로 동적으로 키를 할당하는 경우에 이와같은 방법을 사용함
6. 오브젝트는 배열과 오브젝트를 포함한 모든 데이터 타입을 담을 수 있다.
let person = {}; person.firstName = "John"; person.lastName = "Kim"; person.age = 30; let person2 = { firstName: "James", lastName: "Kim", age: 30, person1: person }; //오브젝트안에 오브젝트를 담은 경우
7. 콘솔창에 출력하는 방법은 다음과 같다.
let person = {}; person.firstName = "John"; person.lastName = "Kim"; person.age = 30; console.log(person.firstName); let person = {}; person["firstName"] = "John"; person["lasttName"] = "Kim"; person["age"] = 30; console.log(person["lastName"]); let person2 = { firstName: "James", lastName: "Kim", age: 30, person1: person }; console.log(person2);
- 배열(Array)
여러 개의 데이터를 배열이라고 한다.
1. 배열의 선언은 대괄호([])를 사용하며 다음과 같다.
let arr1 = ["Hyundai", "KIA", "Volvo"]; let arr2 = [3,6,2,7,12];
2. 배열에는 순서가 존재하며, 가장 첫 번째 담긴 데이터는 1이 아닌 0부터 시작한다.
let arr1 = ["Hyundai", "KIA", "Volvo"]; console.log(arr1[0]); //Hyundai console.log(arr1[1]); //KIA console.log(arr1[2]); //Volvo
3. 하나의 배열에는 여러 개의 다른 데이터 타입을 함께 담을 수 있다.
let arr3 = ["Hyundai", 3, undefined];
4. 배열은 오브젝트와 배열을 포함한 모든 데이터 타입을 담을 수 있다.(오브젝트와 동일)
let person = {}; person["firstName"] = "John"; person["lasttName"] = "Kim"; person["age"] = 30; let person2 = { firstName: "James", lastName: "Kim", age: 30, person1: person }; let arr1 = [person, person2]; //배열에 오브젝트를 담은 경우
5. 배열을 다음과 같은 방법으로도 선언할 수 있다.
let arr5 = []; arr5[0] = 1; arr5[1] = 3; arr5.push(5); //배열의 내장함수를 사용하는 방법 arr5.push(7); arr5.push(9);
- 불리언(Boolean)
참, 거짓을 나타내기 위한 데이터 타입이다. (true or false)
let x2 = 5; let y2 = 7; console.log(x2 > y2); //false let isAdult = true;
<참고>
불리언(Boolean)에는 따옴표 사용하지 않으며, 처음부터 변수에 참거짓을 먼저 선언할 수 있다.
- 참고
변수의 데이터 타입을 확인하는 방법
let x2 = 5; let isAdult = true; let name = "John"; let person = {}; person["firstName"] = "John"; person["lasttName"] = "Kim"; person["age"] = 30; let arr1 = ["Hyundai", "KIA", "Volvo"]; console.log(typeof x2); //Number console.log(typeof isAdult); //Boolean console.log(typeof name); //String console.log(typeof person); //Object console.log(typeof arr1); //Object*
<참고>
단, 배열의 데이터 타입은 오브젝트이다. (배열이 아님*)
'Javascript' 카테고리의 다른 글
Javascript - 연산자(산술, 비교, Logical 등) (0) | 2021.09.17 |
---|---|
Javascript - Number 64비트 부동소수점 (0) | 2021.09.17 |
Javascript - 변수 선언자(var, let, const) (0) | 2021.09.16 |
Javascript - 콘솔(Console), 주석(Comments) 처리 (0) | 2021.09.16 |
Javascript - 자바스크립트 작성위치 (0) | 2021.09.16 |
댓글