My Melody Kawaii

JAVASCRIPT

프로그램이 처리하는 자료의 형태를 무엇이라고 할까?

younajeong 2023. 2. 20. 15:00

“ 지연되는 프로젝트에 인력을 더 투입하면 오히려 더 늦어진다. ”

- Frederick Philips Brooks
Mythical Man-Month 저자
728x90


컴퓨터가 프로그램을 처리할 때 숫자를 더하거나 빼고 문자열은 뺄 수 없다는 것을 따로 알려주어야 합니다. 이렇게 숫자나 문자열처럼 프로그램에서 처리할 자료의 유형을 지정해야 하는데, 이러한 자료의 형태를 '자료형'이라고 합니다.
자료형은 크게 '원시유형' 기본형 과 '객체'로 나뉘어집니다

표와 같이 원시형 기본형은 숫자열, 문자열, 논리형, 심벌이 있고 객체는 undefined,null (답이 존재하지 않는것) 이 존재합니다.

자료형을 자세히 보기전에 typeof()함수가 존재하는데 typeof()함수는 자바스크립트에 미리 만들어져 있는 함수로, 소괄호 안에 값이나 변수를 넣으면 어떤 자료형인지 알려줍니다.

01.숫자형

숫자형은 모든 프로그램에서 가장 기본이 되는 자료형입니다. 자바나 C언어에서 정수와 실수를 명확히 구별하고 정수도 크기에 따라 다른 자료형으로 사용합니다. 하지만 자바스크립트에서는 정수와 실수를 함께 묶어서 숫자형이라고 합니다. 자바스크립트에서 숫자를 입력해 줄 때는 큰 따옴표 없이 입력하면 숫자로 인식합니다. 하지만 숫자를 큰 따옴표로 묶게 된다면 자바스크립트에서는 문자로 인식할 수 있으니 숫자형으로 입력할때는 큰 따옴표를 사용하지 않아야 합니다.

이미지 처럼 변수 x와 y에 숫자를 저장하기 위해 100과 200이라는 숫자에 결과값을 나타내는 ;를 붙혀서 숫자로 100과 200이 결과값으로 나왔습니다.


02.문자열

문자열 또는 string 자료형은 작은따옴표(')나 큰따옴표로(")로 묶는 데이터를 의미합니다. 단, 따옴표의 형식이 같아야 합니다. 작은 따옴표는 작은 따옴표로 큰 따옴표는 큰 따옴표로 사용해야 합니다. 만약 큰 따옴표로 묶은 문자열 안에 다른 문자열을 포함시켜야 할때는 큰 따옴표가 중복되지 않도록 안에 포함되는 문자열을 작은 따옴표로 묶어 표현해야 하는데, 이러한 문자열을 '빈 문자열'이라고 합니다.

같은 이미지가 나타났지만 변수 z에 문자를 넣기 위해 큰 따옴표를("") 사용하여 javascript를 써주었습니다. 그러자 결과값은 "javascript" 문자로 나타났습니다.

03.논리형

논리형은 참인지 거짓 값을 표현하기 위한 데이터 유형으로 '불리언 boolean 유형' 이라고도 합니다. 논리형에서 사용할 수 있는 값은 ture와 falsed이고, 논리형 값은 지정한 조건에 맞는지의 여부를 확인하는 조건식에서 사용됩니다.

예를들어 10>2 // ture
10<2 // false

논리에 맞게끔 조건의 여부에 따라 나타나는 것이 논리형 입니다.

03.undefined,null

undifeneds는 값이 할당되지 않았을 대 변수이 초깃값입니다. undefined는 값이면서 동시에 자료형 입니다.
예를 들어 let a ; 라는 값을 쓰고 할당되는 값을 쓰지 않는 다면


이미지출저

이미지처럼 값을 나타내지 못하여서 undefined 라고 나타나게 될 것입니다. undefined는 값이 나오지 않는다고 하여 값이 없는 것이 아닌아무것도 존재하지 않는 다는 값으로 생각해야 합니다.

null이란 값이면서 동시에 자료형입니다 아직 입력되지 않는 값, 나타나지 않는 값을 뜻하며 undefined와 비슷해 보이지만 구별점이 null은 값이 없거나 유효하지 않은 값이라는 의미입니다 그리고 사용자가 직접 할당할 수도 있습니다.

예를들어
let age = null;

이라고 입력 한다면 다음과 같이 age변수에 일단 값이 할당은 되지만, 그 값이 유효하지 않은 값이라는 의미입니다.
정리하자면 undefined는 사용자가 실수로 값을 지정하지 않을 때 나타나는 값이고 null은 사용자가 일부로 유효하지 않은 값을 지정한 것이라고 생각하면 됩니다. undefined는 값이 맞지 않거나 사용자가 실수 할 때 뜨는 값이고 null은 사용자가 직접 값을 내고 싶지 않을 때 사용되는 값입니다.

 

03.객체

객체는 하나의 변수에 다양한 정보가 포함되어 있는 자료형입니다. 객체는 ({ }) 중괄호 안에 다양한 정보를 담는데 키와 값으로 하나 또는 여러 개의 쌍을 만들 수 있습니다. 그리고 개체 안에서는 여러 개의 키와 값 쌍을 쉼표(,)로 구분합니다.

객체는 이미지 처럼 값을 나타낼 수 있습니다. 여기서 키는 문자열이어도 큰따옴표를 사용하지 않지만, 값에서는 문자열일 경우 큰 따옴표를 사용해야 합니다.

객체 안에는 배열이 존재하는데 배열이란 하나의 변수 안에 여러 개의 값을 저장할 수 있는 유형으로 배열 값은 [] 대괄호로 묶고 각 값은 쉼표(,)로 구분합니다.

배열명=[값, 값, ....]
emptArr = [ ] // 빈 배열
colors = [ "red", "blue", "grenn"] // 문자열 배열
arr = [10, "banana", true] //여러 자료형으로 구성된 배열

이처럼 배열안에도 여러 객체가 존재할 수 있습니다.

04.심벌

심벌은 유일성을 보장하는 가장 큰 특징을 가지고 있습니다. 심벌은 객체 프로퍼터의 키로 사용할 수 있습니다. 예를 들어 프로그램에서 오픈 소스를 가지고 올 경우 다른 팀원이 만든 객체와 중복이 일어나 충돌할 수 있는데 이때 키 이름을 심벌로 지정하면 서로 충돌이 일어나지 않는 형상을 방지하고 있습니다.

예를들어
let var1 = Symbol()
let var2 = Symbol()

var1===var2 // false

이처럼 유일성이 보장되어 var1 과 var2는 서로 같지 않게 되는 것입니다. 이처럼 유일성을 가진 심벌을 이용해서 유일성을 가진 키를 만들어 서로 충돌을 방지할 수 있습니다.