본문 바로가기
Web dev/Javascript

자바스크립트 01 변수 선언과 할당, 타입

by growingTangerine 2022. 10. 21.

1. 현재의 무드: 코드스테이츠 Day 2! 8:40에 기상해서 출석하고 간단한 시리얼과 커피를 마시면서 공부 시작. 스마일 라식때문에 눈이 아직 살짝 불편하긴 하지만, 기본적인 변수 선언, 할당 그리고 타입에 대해서 좀 더 깊이있게 배울 수 있어서 기분이 매우 좋음!

 

2. 오늘 학습한 내용 중 키워드: 변수, 선언, 할당, 타입 (number, string, boolean 등) 

 

3. 오늘 학습한 내용 요약: 

더보기

변수: 데이터에 지어준 이름! 편리하게 저장하여 나중에 반복해서 꺼내 쓰기 위해 변수를 선언하고 할당한다. 

let num; // 변수 선언
num = 1; // 변수에 값 할당

num = num + 2; // = 은 할당 기호, num = 3
num = num + 3; // 3 + 3, num = 6
num = num + 4; // 6 + 4, num = 10

변수 선언 (declaration) 보관함을 확보하는 것.

변수 할당 (assignment) 보관함에 해당 값을 데이터로 저장하는 것. 

 

자바스크립트 엔진은 해당 표현식의 평가를 하는데, 이때 변수의 위치에 보관함의 데이터로 대체하여 값을 넣어주는 일이 벌어진다!

 

더보기

+ a ) 정적 타입 언어, 동적 타입 언어. 

 

  • 정적 타입 언어: 변수 선언 시, 할당할 수 있는 데이터 타입을 명시적으로 함께 선언해줌 -> 해당 타입에 맞는 메모리 용량이 할당됨. 따라서, 다른 타입의 값이 할당될 경우 에러 발생. 

 

  • 동적 타입 언어: 변수 선언 시, 할당할 수 있는 데이터 타입을 함께 선언하지 않음 -> 엔진이 변수에 할당된 값에 따라 동적으로 타입을 지정함. 자유롭게 데이터 타입을 사용할 수 있는 형태. 

변수 선언은 했는데, 값은 할당하지 않는다면? undefined -> 이 또한 타입의 하나이다. 

 

타입이란? 

console.log(typeof 1); // number
console.log(typeof '1'); // string
console.log(typeof true); // boolean

let number = 1; // 변수 선언과 할당
console.log(typeof number); // number

let string = '1'; // 변수 선언과 할당
console.log(typeof string); // string

let undefined; // ????

말 그대로 값의 타입... 인데

 

number, string, boolean, undefined 등이 있다. 

그런데, 마지막 undefined 를 변수로 선언하려고 입력해보니, 오류가 발생함!

 

SyntaxError: Identifier 'undefined' has already been declared.

 

Identifier 란 뭘까? 

https://developer.mozilla.org/en-US/docs/Glossary/Identifier

 

Identifier - MDN Web Docs Glossary: Definitions of Web-related terms | MDN

An identifier is a sequence of characters in the code that identifies a variable, function, or property.

developer.mozilla.org

아직은 읽어도 이해가 잘... 안된다. 나중에 돌아와서 다시 읽어봐야지. 

 

 

오늘은 함수까지 진도를 나가고, 이후 첫 페어프로그래밍이 있는 날! 오후까지 화이팅 ❤️‍🔥