본문 바로가기
Javascript

Javascript - 데이터 타입

by DGK 2021. 9. 16.

 

인프런 자바스크립트 입문 수업을 듣고 중요한 내용을 정리했습니다.
개인 공부 후 자료를 남기기 위한 목적이므로 내용 상에 오류가 있을 수 있습니다.

 

데이터 타입

 

  • 문자열(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*

<참고>
단, 배열의 데이터 타입은 오브젝트이다. (배열이 아님*)

 

댓글