let a = 10;
let a = 10;
a = 20;
int a = 1; // 숫자형
char a = 'a' // 문자형
let a = 10;
a = 'str'
console.log(a);
str
자바스크립트의 타입은 원시 값과 객체로 구분된다.
원시 값 (언어의 최고 로우레벨에서 직접 표현되는 불변 데이터)
Number - 숫자형
String - 문자형
Boolean - 참과 거짓, true 외에 0, -0, NaN, Null, ""(빈 문자열), undefined 등이 거짓으로 표현된다.
Null - 의도적으로 비어있음을 표현한다. 불리언으로 표현시 0(거짓)이다.
Undefined - 값을 할당하지 않은 변수
BigInt - 임의 정밀도로 정수를 나타낼 수 있다.
Symbol
객체 (속성의 컬렉션)
function foo (param1, param2) {
return param1 + param2;
}
console.log(foo(1,2));
3
// 함수 선언식
function foo (param1, param2) {
let sumParams = param1 + param2;
return sumParams;
}
// 함수 표현식
let foo = function (param1, param2) {
let sumParams = param1 + param2;
return sumParams;
}
// 화살표 함수
let foo = (param1, param2) => {
let sumParams = param1 + param2;
return sumParams;
}
let foo = function (param1, param2) {
let sumParams = param1 + param2;
}
console.log(foo(1,2));
undefined
오늘 학습한 변수, 타입, 함수는 학습에서 어려운 점은 없었다. 페어와 문제를 푸는 것이 신선하게 다가왔다.다만, 페어와 진행하던 것 중 Number() 객체를 사용하여 받은 전달인자를 숫자형으로 반환하는데 문제가 있었다. 반환이 되지 않는 문제였는데, return 표현식을 깜빡하여 발생한 문제였으며, 여러 시도 중 해결하였다.
값을 반환하고자 하는 함수에 꼭 return을 까먹지 않도록 해야겠다.
TIL를 작성하면서 변수 호이스팅이라는 것을 알게 되었다. 자바스크립트 언어의 개념과 동작원리를 학습하기 위해서 모던 자바스크립트 Deep Dive를 학습하는 것도 좋은 생각 같아서 주문했다.
내일 Unit 3에서는 조건문, 문자열, 반복문을 학습한다. 개요상 if문, for문 등의 활용과 여러 메소드들을 사용한다. 오늘도 숫자형으로 변환하는 Number(), 문자형으로 변경하는 String() 등의 메소드들을 사용하였다. 본격적으로 학습한 지 1일차이기 때문에 복습에 큰 걸림돌은 없었다. 내일 하는 조건문이나, 문자열 그리고 메소드들도 MDN을 통해서 미리 학습할 수 있도록 해야겠다.