2022

JavaScript 자료형 본문

JavaScript

JavaScript 자료형

__g__ 2022. 5. 20. 19:11

 데이터 타입  

JavaScript 데이터 타입 
기본 타입 (원시 타입 : Primitive Type) 참조 타입 (객체 타입 : Reference Type)
숫자(number),문자열(string),불린(boolean),
undefined, null, 심벌(symbol)
Object (객체, 배열, 함수, 정규 표현식)
원시 자료형은 모두 “하나”의 데이터(=정보)를 담고 있다. 참조형은 원시형 데이터의 집합이다.
배열([])과 객체({}), 함수(function(){})가 대표적이다.
참조 자료형은 기존에 고정된 크기의 보관함이 아니다.
참조 자료형을 변수에 할당할 때는 변수에 값이 아닌 주소를 저장한다.
동적으로 크기가 변하는 데이터를 보관하기위해 변수가 아닌
다른곳에 데이터를 저장하고 변수에는 그 주소만 할당한다.

 


숫자(Number)

구분하지 않고 모든 정수와 실수를 나타낸다. 

let num1 = 8 / 4;
console.log(num1) // 2
let num2 = 9 / 2;
console.log(num2); // 4.5

 

문자열(String)

텍스트 데이터를 나타낸다.

문자열은 작은 따옴표(')나 큰 따옴표("")로 묶어서 표현한다.

숫자도 따옴표 안에 넣게 된다면 문자열로 인식한다.

let str1 = '문자열입니다.'
console.log(str1); // 문자열입니다.
let str2 = "2022"
console.log(str2); // 2022
console.log(typeof(str2)); // string 출력

 

불린(Boolean)

논리적 참, 거짓을 나타내는 true, false로 나타난다.

let flag = true;
console.log(typeof(flag)); // boolean


undefined

변수 선언 이후 값을 할당하지 않은 변수는 undefined 값을 가진다.

어떤 변수를 만들고 그 값을 정의해주지 않았을 때나 존재하지 않는 객체 프로퍼티에 접근할 경우 undefined가 반환된다.

undefined는 데이터 타입이자 값이다. 

let u;
console.log(u); // undefined
console.log(typeof(u)); // undefined


null

변수를 선언하고 의도적으로 값이 없음을 표현할 때 대입한다.

null은 데이트 타입이자 값이다.

let w = null;
console.log(typeof(w)); // 출력하면 object가 나오는데 이것은 JavaScript의 구현 버그.
console.log(w === null); // 일치 연산자를 사용해 확인. 일치하면 true, 아니면 false.

 

undefined와 null의 차이점

변수를 선언하고 값을 할당하지 않은 상태 → undefined 
변수를 선언하고 의도적으로 빈 값을 할당한 상태 → null

 

객체(Object)

JavaScript는 객체 기반의 스크립트 언어로써 JavaScript를 이루고 있는 거의 모든 것인 객체이다. 원시 타입을 제외한 나머지 값들(배열, 함수, 정규표현식 등)은 모두 객체이다. 또한 객체는 참조에 의한 전달 (pass-by-reference) 방식으로 전달된다.

let arr = [0, 1, 2, 3, 4]

let object = {name : "luna", age : 15}

function test() {
	alert("나는 함수!")}

 

 

 

 2.  JavaScript 형변환   

 

자동 형변환

- 다른 타입의 값이 오면, 자동으로 타입을 변환하여 사용
- 자바 스크립트는 자동 형변환이 자주 이용

let num = "2"
console.log(num+2)  // 22, 문자열과 숫자를 더했을 때 숫자도 문자열로 변환 후 출력
console.log(num*2)  // 4, 숫자인 문자열과 숫자를 곱할 때는 자동으로 문자열을 숫자로 변환 후 출력


강제 형변환

- 자동으로 타입 변환을 지원하지만 명시적으로 변환할 필요가 있을 때 사용

Number(값);
String(값);
Object(값);
Boolean(값);
parseInt(문자열);    // 문자열을 정수로
parseFloat(문자열);    // 문자열을 실수로

 

 3.  = = 과 = = = 의 차이 


= 은 오른쪽에 쓴 값을 왼쪽에 할당할 때 사용한다. 

let num = 3;  // num 에 숫자 3을 대입.


== 은 값을 비교해 판별한다.

let num = 3;
console.log(num == 3);  // 같음으로 true 반환
console.log(num == "3");  // 타입이 number와 string이지만 값이 같아 true 반환

 


===은 값과 타입을 같이 비교해 판별한다.

let num = 3;
console.log(num === 3);  // 같음으로 true 반환
console.log(num === "3");  // 타입이 number와 string으로 다르고 값만 같아 false 반환


같지 않다는 !=, !== 사용해 표현이 가능하다.

let num = 3;
console.log(num !== 3);  // 같음으로 false 반환
console.log(num !== "3");  // 타입이 number와 string으로 다르고 값만 같아 true 반환

'JavaScript' 카테고리의 다른 글

react S.A.실습 과제  (0) 2022.05.20
호이스팅과 TDZ  (0) 2022.05.20
얕은 복사와 깊은 복사  (0) 2022.05.20
JavaScript 불변 객체 만드는 방법  (0) 2022.05.20
JavaScript 특성  (0) 2022.05.20
Comments