2022
JavaScript 자료형 본문
데이터 타입
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 |