데브리입니다.
자바스크립트 강의는 이미 한번 듣고 리액트와 리덕스로 넘어갔었는데, 최근에 지원하면서 코딩테스트를 해보면서 아직도 자바스크립트가 많이 부족하다는 걸 깨달았어요. 다시 강의를 들으며 복습하면서 배우는 내용을 블로그에도 정리하면 코딩테스트와 면접준비에도 도움이 될 것 같아서 블로그에 남기기로 했습니다.
자바스크립트의 7가지 데이터 타입
- Number: Floating point numbers - Used for decimals and integers
- String: Sequence of characters - Used for text
- Boolean: Logical type that can only be true or false - Used for taking decisions
- Undefined: Value taken by a variable that is not yet defined('empty value')
- Null: Also means 'empty value'
- Symbol (ES5): 더이상 쓰이지 않으므로 중요하지 않음
- BigInt (ES6): Larger integers than the Number type can hold
* 자바스크립은 dynamic typing이므로 다른 언어들과 다르게 우리가 manually 데이터 타입을 정의하지 않아도 됨. Automatically variable에 저장된 value의 데이터 타입이 정의됨 (Value has type, NOT variable!).
타입은 typeof 로 확인할 수 있음.
console.log(typeof 1); //number console.log(typeof 'hello'); //string
면접에 나올 수 있는 질문!
Q: What is the difference between null and undefined?
A: undefined represents no value at all, whereas null is a value. When we define a variable and do not assign it a value, then the variable would be undefined. On the other hand, if we want a variable with no value, then we can simply assign a null value to it.
const x; // x is undefined const y = null // y is null
var, let, const의 차이점
이 세가지의 차이를 알기 전에 Scope을 먼저 알아야 하는데 3가지로 나뉜다.
- Global scope: Variables declared outside a function. It can be accessed and changed in any other scope.
- Function (local) scope
- Block scope (ES6): includes if statements and loops, or any other code wrapped in {}. - let, const
let: allows you to reassign the value later on.
const: value cannot be reassigned.
결론은,
가능하면 항상 const를 쓰는 연습을 해야하는데, 왜냐면 let을 써서 as little variable mutations or variable changes as possible을 하는 게 중요한데, 이후 potential bugs를 줄여주기 때문이라고. 변수의 값을 이 후에 바꿔야 할 때만 let을 쓰고, 그 이후는 무조건 const를 쓰기! ES6 이후 var은 이제 전혀 쓸 필요가 없음.
'웹개발 > 혼자하는 개발 공부' 카테고리의 다른 글
[자바스크립트] Arrays / 배열이란? ( + Object ) (0) | 2021.08.31 |
---|---|
[자바스크립트] function / 함수란? (0) | 2021.08.31 |
[ 유데미] Angela Yu의 The Complete Web Development Bootcamp (0) | 2021.08.21 |
코드라이언 [조코딩의 세렝게티 동물 테스트] 강의 솔직한 리뷰 (4) | 2021.08.20 |
git push 할 때 "Support for password authentication was removed..." 라는 에러가 뜨면? (4) | 2021.08.16 |