자바스크립트 기본 - Part 1
이 글은 유데미 강좌인 https://www.udemy.com/course/the-complete-javascript-course/
수강하면서 정리할 내용이나 다시 알게된 내용을 작성했습니다.
개인적으로 아는 부분은 따로 적지 않아서 순서는 뒤죽박죽!
// 콘솔창에는 object 라고 찍히지만, null은 object가 아님
// 이는 자바스크립트 내부에 있는 버그다.
console.log(typeof null);
let, const, var 간단한 차이
let : 변수명을 정의하고, 재할당 할 수 있음, 초기값을 주지 않아도 사용 가능
const : 변수명을 정의하고 초기값을 반드시 줘야 함, 재할당 할 수 없으므로 변하지 않을 값에 사용해야 함
기본적으로 const를 사용하는 것으로 생각하되, 변수값이 바뀌어야 하는 상황이면 let을 쓰도록 하자!
var : 변수를 정의하는 오래된 방식, let과 유사하다.
할당 연산자
let x = 10 + 5; // 15
x += 10; // x = x + 10
console.log(x); // 25
연산자 우선순위 (operator precedence)
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Operator_Precedence
// 연산자 우선 순위에 따라서 - 계산이 먼저 되고 나서, x y 에 값이 할당된다.
let x, y;
x = y = 25 - 10 - 5; // x = y = 10
console.log(x, y); // 10 10
형변환 (type conversion)
console.log('23' - '10' - 3); // 10
console.log('23' * '2'); // 46
console.log('23' / '2'); // 11.5
console.log('23' + '10'); // 2310
String을 연산하게 되면 + 를 제외하고 자바스크립트는 자동으로 숫자로 바꿔서 연산을 해준다.
Truthy / Falsy 값
// 5 falsy values : 0, '' (empty string), undefined, null, NaN
console.log(Boolean(0)); // false
console.log(Boolean(undefined)); // false
console.log(Boolean('Jonas')); // true
console.log(Boolean({})); // true
console.log(Boolean('')); // false
== vs ===
많은 케이스들이 있겠지만, 기본적으로 === 은 타입, 값을 모두 비교하고 == 은 값만 비교한다.
궁금한 부분 ? != vs !== , null과 undefined 비교, NaN -> 나중에 자세히 공부해서 포스팅하기
후기
자바스크립트를 안 쓴 지 좀 되서 정리하고자 문법 설명하는 부분도 들었는데,
아주 기초적인 부분을 많이 설명해서 이 강의를 듣는 사람이라면 먼저 coding challenge를 해보고
생각이 잘 안 나는 부분만 골라서 들어도 충분하다고 생각이 든다! 시간은 금이니까!