Front/JS

[JavaScript] 7. JS 기초 (변수, 데이터 타입)

cheon seung hyeon 2023. 4. 8. 19:41

 

프로그래밍 언어를 공부한다면 무조건 알고 있어야 하는 기본인 변수 함수 데이터 타입은 JS라고 할지라도 별로 다르진 않습니다. 조금 세부적으로 들어가 프로토타입에 관련된 이야기를 하기 위해선 그 기초를 완벽하게 이해해야 할 필요가 있어서 작성했습니다.

변수 : 값이 위치하고 있는 메모리 상의 주소에 접근 하기 위해 사람이 이해하기 위해 재설정한 식별자
데이터 타입 : 메모리에 적재되는 데이터의 종류

변수

 

수학에서 변수는 아직 정해지지 않은 미지의 수를 기록하는 문자를 변수라고 합니다. 프로그래밍 언어서도 비슷합니다.

우리가 사용하고자 하는 값이 존재하고 그것을 한 번이 아닌 여러 번을 사용 하려할 때 메모리에 기록된 데이터를 매번 일일이 찾아서 호출하는 것은 매우 비효율적인 낭비 입니다.

 

변수와 메모리의 관계  http://www.tcpschool.com/c/c_pointer_intro

따라서 프로그래밍 언어에선 자주 사용되는 언어의 재사용성을 높히기 위해 그 값을 가르키는 주소를 사용자가 이해하기 쉬운 형태로 기록해서 필요할 때 마다 그 주소에 데이터를 호출하는 사용합니다.  이때 그 주소를 기록한 일종의 이정표이자 값의 위치(주소)를 기억해서 사용하는 일종의 저장소를 변수라고 합니다. 이때 위치는 메모리 상에 기록한 주소를 말합니다.

 

데이터 타입

변수가 값을 기록하는 메모리를 가르키는 주소라고 기억 했다면 데이터 타입이란 그 값의 형태입니다. 숫자, 문자 등을 예로 들면 그 숫자도 정수, 소수 등으로 다양하게 분류해서 사용할 수 있습니다.  이러한 데이터 타입이 필요한 이유는 무엇일까요?

 

메모리에 기록하고자 하는 데이터의 종류에 따라 메모리에서 확보해야할 공간의 크기가 다르기 때문에 데이터의 타입을 분류해야할 필요성이 발생합니다.

 

중요

 여기서 JS가 다른 프로그래밍 언어와 차별성이 발생 합니다.

변수 할당 출처 https://technote.kr/185

 

C, JAVA 등의 언어는 변수를 선언 할 때 데이터의 타입을 미리 정하는 정적인 타입의 언어입니다. 즉 C 언어에서 int 형태의 변수를 선언 했다면 할당되는 값과는 상관없이 4byte라는 크기의 메모리 공간이 먼저 확보가 된 후 값이 할당 됩니다.

하지만 JS의 경우 변수의 타입 지정 없이도 값이 할당될 때 자동적으로 JS 엔진이 변수의 타입을 정해주는 동적인 타입의 언어입니다.

// C언어에서의 변수 선언
int num = 1
String name = "cheon"

// JS에서의 변수 선언
let num = 1
let name = 'cheon'

 

데이터 타입 - JS

프로그래밍 언어에서 사용 가능한 데이터의 종류를 데이터 타입이라고 합니다. 한정된 메모리 공간을 효율적으로 관리하기 위해 다양한 데이터의 타입이 존재하고 이 데이터 타입을 미리 설정하는 것으로 컴퓨터는 몇 가지 정보를 미리 유추 할 수 있습니다.

메모리 저장 시 확보해야할 메모리의 공간 크기
할당 가능한 유효 값의 정보
메모리에 저장되는 2진수 데이터의 해석 방법 

 

JS에선 특이하게 이러한 데이터 타입을 크게 2가지로 나눌 수 있습니다. 값을 변경 할수 없는 불변성을 가진 원시 타입,

그외의 전부인 참조 타입으로 나눠집니다.

https://velog.io/@oneook/%EB%8D%B0%EC%9D%B4%ED%84%B0-%ED%83%80%EC%9E%85%EA%B3%BC-%EC%9E%90%EB%A3%8C-%EA%B5%AC%EC%A1%B0-JavaScript-Basics