Day8부터는 자바스크립트 기초를 다뤘기에 크게 정리할 필요성을 느끼지 못했다. 그러나 너무 기초를 만만하게 보고 자만한 것 같아 정신을 고쳐먹고 늦었지만 TIL을 작성하려고 한다...
📖 자바스크립트 문법
1. 연산자
- 산술 연산자 (이항 산술 연산자) :
+, -, *, /, %, **
- 증감 연산자 (단항 산술 연산자) :
++, --
- 전치 연산: 연산 먼저 진행
- 후치 연산: 연산은 나중에 진행
- 단항 부정 연산자 :
-
- 대입 연산자 :
=
- 복합 대입 연산자 :
+=, -=, *=, /=, %=, **=
- 비교 연산자 :
==, ===, !=, !==, >, >=, <, <=
==, != : 형변환 후 비교
===, !== : 형변환 없이 비교
- 삼항 연산자 (조건 연산자) :
비교 ? 참 : 거짓
- Falsy값 = 0, NaN, 빈 문자열, null, undefined
- 논리 연산자 :
&&(and), ||(or), !(not)
2. 조건문
3. 반복문
- 종류
- do...while
- while
- for
- for...in : 인덱스로 접근
- for...of : 값으로 접근
- continue, break
🦾 자바스크립트 함수
1. 함수 종류
함수 표현식
const func = function() { ... }
const func = function f() { ... }
- 기명 함수는 let으로 선언? const로 선언?
- 문법적으로는 let이든 const든 상관없음
- 관용적으로 많이 사용하는 건 const (함수 재할당 케이스가 별로 없음)
함수 선언식
function func() { ... }
화살표 함수
const func = () => { ... }
2. 함수의 매개변수
- 매개변수와 인자의 개수가 일치하지 않아도 됨
- 매개변수 개수 > 인자 개수 : 인자를 차례로 넣다가 인자가 없으면 undefined
- 매개변수 개수 < 인자 개수 : 매개변수만큼만 인자넣고, 나머지 인자는 arguments 객체로 접근 가능
- 함수의 매개변수는 arguments라는 객체에 저장됨
- 단, 화살표 함수는 불가
- 유사 객체 배열이기 때문에 for of로 접근 가능
function sum() {
console.log(arguments[0] + arguments[1]);
}
- ES6부터 나머지 매개변수 사용 가능 (화살표 함수도 가능)
function sum(...args) {
console.log(args[0] + args[1]);
}
sum(10, 20);
3. 스코프
함수 레벨 스코프
블록 레벨 스코프
- 참조 범위가 블록(
{ })
- let, const
📌 출처
수코딩(https://www.sucoding.kr)