프로그래밍/노드js

자바스크립트 data type

미하루 2024. 7. 9. 01:01

모든 프로그래밍 언어는 데이터를 다루기 위해서 만들어 졌고 제각각 데이터를 효율적이고 보기 좋게 담기위해서 데이터 타입이란 것이 존재 합니다.

 

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

 


연산자

연산자 우선순위와 내용

 

 

참고 링크

https://velog.io/@mmmdo21/JS-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-typeof-%EC%97%B0%EC%82%B0%EC%9E%90%EB%A1%9C-%EB%B3%80%EC%88%98%ED%83%80%EC%9E%85-%ED%99%95%EC%9D%B8%ED%95%98%EA%B8%B0

 

자바스크립트 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