JavaScript
TIL(21.04.10)
koyuchang
2021. 4. 10. 23:13
let vs var
동적 타입 언어(dynamically typed)
- 자료의 타입은 있지만 변수에 저장되는 값의 타입은 언제든지 바꿀 수 있는 언어.
let message = "hello";
message = 123456;
let n = 123;
n = 12.345;
undefiend 와 null 차이
- null 자바스크립트에선 `null`을 ‘존재하지 않는(nothing)’ 값, ‘비어 있는(empty)’ 값, ‘알 수 없는(unknown)’ 값을 나타내는 데 사용
- undefined 값이 할당되지 않은 상태
함수 선언문 VS 함수 표현식
- 함수 선언문: 함수는 주요 코드 흐름 중간에 독자적인 구문 형태로 존재
function sum(a,b){
return a + b;
}
함수 표현식: 함수는 표현식이나 구문 구성 내부에 생성.
let sum = funtion(a,b){
return a + b;
}
- 함수 표현식은 실제 실행 흐름이 해당 함수에 도달했을 때 함수를 생성합니다. 따라서 실행 흐름이 함수에 도달했을 때부터 해당 함수를 사용할 수 있습니다.
- 함수 선언문은 함수 선언문이 정의되기 전에도 호출할 수 있습니다.
- 자바스크립트는 스크립트를 실행하기 전, 준비단계에서 전역에 선언된 함수 선언문을 찾고, 해당 함수를 생성합니다. 스크립트가 진짜 실행되기 전 "초기화 단계"에서 함수 선언 방식으로 정의한 함수가 생성.
화살표 함수
- `=>` 왼쪽에 있는 인수를 이용해 `=>` 오른쪽에 있는 표현식을 평가
객체 정렬 방식
- 정수 프로퍼티는 자동으로 정렬되어 출력된다.(그 외 프로퍼티는 객체에 추가된 순서 그대로 출력)
let codes = {
49: "독일",
41: "스위스",
44: "영국",
1: "미국",
};
for (let code in codes) {
alert(code); //1, 41, 44, 49
}