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

}