JS_1. 변수, 타입

Seoyong Lee·2021년 4월 6일
0

JavaScript / TypeScript

목록 보기
2/25
post-thumbnail

변수(variable)

변수는 코딩에 가장 기초 개념으로 변수를 통해 우리는 데이터를 편리하게 저장하고 불러올 수 있다. 우리가 흔히 이야기하는 변수는 사실 수학적인 개념에서 왔으나 프로그래밍에서의 변수와는 차이가 있다.

수학에서의 변수: 정해지지 않은 임의의 값
프로그래밍에서의 변수: 값을 저장하는 공간(메모리), 이름이 붙은(labeled) 값

이처럼 프로그래밍에서의 변수는 값을 저장하는 하나의 상자로 이해하는 것이 편하다.

변수의 선언(declaration)과 할당(assignment)

그렇다면 변수의 선언은 어떻게 이루어지는가?

let name;  // 변수의 선언

name = 'lee';  // 변수의 할당 

위 예시와 같이 let(const)을 작성하면 옆에 오는 이름으로 하나의 새로운 변수가 선언된다. 이렇게 선언된 변수에는 '='을 통해서 무엇인가를 할당할 수 있다. 여기서 중요한 점은 자바스크립트의 세계에선 '='는 '같다'라는 의미가 아닌 '할당'을 의미한다는 점이다. '같다'를 의미하는 비교 연산자는 '==='(엄격 비교) 혹은 '=='를 사용한다.

let name = 'lee';  // 선언과 할당이 동시에 

이렇게 선언과 할당을 동시에 작성할 수도 있다.

변수의 활용

표현식(expression)에서의 사용

표현식이란 인터프리터가 값으로 평가하는 구문으로 쉽게 말하면 결과를 내기 위한 평가의 대상이다.

let pi = 3.141592;

pi * 5 * 5;  // 표현식

pi와 같은 변수는 이렇게 표현식의 일부를 구성할 수 있다.

변수에 변수를 담기

변수는 또 다른 변수에 담길 수 있다.

let areaOfCircle = pi * radius * radius;

// camelCase 변수명 사용

이러한 변수의 이름은 camelCase를 사용하여 지으며, 띄어쓰기 대신 다음 글자의 첫 부분만 대문자로 써주는 방식이다.

변수의 타입(자료형)

기본타입

자바스크립트에는 다음과 같은 5가지 기본 타입이 존재한다.

숫자형(number) = 1, 2    // 변환함수 Number(  )

문자형(string) = '안녕'     // 변환함수 String(  )

불린형(boolean) = true, false    // 변환함수 Boolean(  )

undefined // 타입이자 값

null // 비어있음

여기에 더해 ES6 부터 symbol 타입이 추가되었다.

참조타입

기본 타입에 해당하지 않는 나머지 타입은 모두 객체로 배열, 함수 등이 모두 포함된다.

객체(object) = 배열(array), 함수(function), 정규표현식

왜 타입을 나누는 것일까?

같은 숫자를 입력하더라도 컴퓨터가 어떤 결과를 반환할지는 데이터 타입에 따라 달라진다.

1 + 1 = 2

'1'+'1' = '11'

위와 같이 숫자 1과 1을 더하면 2가 반환되지만, 문자열 '1'을 더하면 '11'이라는 결과가 반환된다. 그렇기에 타입이란 컴퓨터가 어떤 방식으로 데이터를 다루어야 할지에 대한 하나의 가이드가 될 수 있다.

심화

자바스크립트는 '느슨한 타입 체크 언어'로, 변수를 선언할 때 타입을 미리 정하지 않고 어떤 형태의 데이터를 할당하느냐에 따라 해당 변수의 타입이 결정된다. 이러한 언어의 장점과 단점은 JS자문자답_1. 타입의 종류와 결정방식 에서 정리하였다.

참고
인사이드 자바스크립트
MDN - 표현식과 연산자

profile
코드를 디자인하다

0개의 댓글