자바스크립트 data type
모든 프로그래밍 언어는 데이터를 다루기 위해서 만들어 졌고 제각각 데이터를 효율적이고 보기 좋게 담기위해서 데이터 타입이란 것이 존재 합니다.
js는 우선 크게 두 가지의 데이터 타입으로 나눌 수 있다.
원시 타입(Prinmitive Type)
- Number
- String
- Boolean
- Underfined
- Null
- Symbol
참조 타입(Object/Reference Type)
- 객체(Object)
- 배열(Array)
- 함수(Fuction)
원시타입(Primitive Type)
1. 원시 타입은 일반적인 C#이나 자바의 값 타입처럼 변수 안에 메모리 참조나 주소가 아닌 값(value) 자체가 담기
2. 메모리상에 고정된 크기로 저장되며 원시 데이터 값 자체를 보관하므로 불변적임
Number
모든 숫자를 실수로 처리
var firstNum = 10; // 소수점을 사용하지 않은 표현
var secondNum = 10.00; // 소수점을 사용한 표현
//리터널 형식
var thirdNum = 10e6; // 10000000
var fourthNum = 10e-6; // 0.00001
String
자바스크립트에서 문자열은 큰따옴표("")나 작은따옴표('')로 둘러싸인 문자의 집합을 의미.
큰따옴표는 작은따옴표로 둘러싸인 문자열에만 포함될 수 있으며, 작은따옴표는 큰따옴표로 둘러싸인 문자열에만 포함될 수 있음.
var firstStr = "이것도 문자열입니다."; // 큰따옴표를 사용한 문자열
var secondStr = '이것도 문자열입니다.'; // 작은따옴표를 사용한 문자열
var thirdStr = "나의 이름은 '홍길동'이야." // 작은따옴표는 큰따옴표로 둘러싸인 문자열에만 포함될 수 있음.
var fourthStr = '나의 이름은 "홍길동"이야.' // 큰따옴표는 작은따옴표로 둘러싸인 문자열에만 포함될 수 있음.
Boolean
값은 참(true)과 거짓(false) 두 가지만 존재
자바스크립트에서 불리언 값은 예약어인 true와 false를 사용하여 나타낼 수 있음
var firstNum = 10;
var secondNum = 11;
document.getElementById("result").innerHTML = (firstNum == secondNum); // false
Symbol
심볼 타입은 ECMAScript 6부터 새롭게 추가된 타입.
심볼은 유일하고 변경할 수 없는 타입으로, 객체의 프로퍼티를 위한 식별자로 사용할 수 있음.
var sym = Symbol("javascript"); // symbol 타입
var symObj = Object(sym); // object 타입
처음에 변경할 수 "있다", "없다" 가 무슨 의미인가 싶어지만 심볼을 보니 타입 변환인 캐스팅(casting)을 말하는 것 같다....
Undefined
변수를 선언만 하고 값을 할당하지 않았을 때 자동으로 삽입됨
-값도 타입도 undefined
let maBoyFriend;
console.log(yrBoyFriend); //undefined
console.log(typeof yrBoyFriend); //undefined
Null
의도적으로 '값이 없음'을 명시하기 위하여 할당하는 값
-null의 값 체크를 위해서는 일치연산자(===)를 사용
-typeof 연산결과는 초기 자바스크립트의 버그로 수정하면 파장이 클까봐 그냥 두었다고 함.
let nu = null;
console.log(typeof nu); //object
console.log(nu === null); //true
참조타입(refence Type)
-원시 타입이 아닌 모든 것
-참조타입은 원시 타입 데이터의 집합 (클래스? 구조체?)
-참조 타입은 고정된 크기의 보관함이 아님
-참조 타입을 변수에 할당할 때 값이 아닌 데이터의 주소를 저장
객체(Object) : {}
let obj = {};
console.log(typeof obj); //object
배열(Array) : []
-배열은 'object'의 특수한 하나의 형태이기 때문에 typeof만으로 객체가 배별인지 확인할 수 없음
-객체가 배열인지 확인하기 위해서는 'isArray()' 함수를 사용
let arr = [1,2,3,4];
console.log(typeof arr); //object
console.log(Array.isArray(arr)); //true
console.log(Array.isArray({})); //false
함수(Funtion) : function(){}
let func = function(){};
console.log(typeof func); //function
연산자
참고 링크
자바스크립트 typeof 연산자로 변수타입 확인하기
typeof 연산자
velog.io
https://www.tcpschool.com/javascript/js_datatype_basic
코딩교육 티씨피스쿨
4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등
tcpschool.com
https://floz.tistory.com/entry/1-Javascript-%EB%8D%B0%EC%9D%B4%ED%84%B0%EC%9D%98-%EC%A2%85%EB%A5%98
[Javascript]1. 데이터의 종류, 연산자, 변수 선언 방법
목차 데이터의 종류 연산자 변수 선언 방법 데이터의 종류 자바스크립트의 데이터는 기본 타입과 참조 타입이 있다. 기본 타입으로는 숫자, 문자열, 불린, undefined, null, symbol이 있다. 참조타입으
floz.tistory.com