타이머함수. 시간과 관련된 처리를 할 수 있다.
setTimeout(함수, 시간) : 특정 시간 후에 함수를 한 번 호출한다.
setInterval(함수, 시간) : 특정 시간마다 함수를 호출한다.
타이머를 종료하고 싶을 땐
clearTimeout(타이머_ID) : setTimeout() 함수로 설정한 타이머를 제거
clearInterval(타이머_ID) : setInterval() 함수로 설정한 타이머를 제거
타이머 ID는 setTimeout() 함수와 setInterval() 함수를 호출할 때 리턴값으로 나오는 숫자이다.
블록 내부에서 같은 이름으로 변수를 선언하면 변수가 외부 변수와 충돌하지 않고 외부 변수를 가린다. 내부 블록에서는 내부 블록에서 선언한 변수만 볼 수 있는데, 내부 변수가 외부 변수를 가리는 현상을 섀도잉 이라고 부른다.
블록의 가장 위쪽에 'use strict'라는 문자열이 등장하는 것을 볼 수 있는데, 이를 엄격 모드라고 부르며 자바스크립트는 이러한 문자열을 읽어들인 순간부터 코드를 엄격하게 검사한다.
일반적으론 엄격 모드를 사용하는 것이 좋다고 한다.
익명 함수와 선언적 함수의 사용
익명 함수는 우리가 코드를 읽을 때와 같은 순서로 함수가 선언되지만, 선언적 함수는 우리가 코드를 읽는 순서와 다른 순서로 함수가 선언 되기에 안전하게 사용할 수 있는 익명 함수를 더 선호하는 것.
따라서 한 가지로 통일해서 사용하는 것이 오류의 위험을 줄일 수 있고, 통일한다면 익명 함수로 통일해서 사용하는 것이 안전을 위해서 더 편한 선택이 될 거다.
객체는 한 마디로 정의하면 '실제로 존재하는 사물'을 의미하고 '이름과 값으로 구성'된 속성을 가진 자바스크립트의 기본 데이터 타입이라 할 수 있다.
사진 출처 : 혼공자
객체를 생성할 때 키(key)는 식별자와 문자열을 모두 사용할 수 있다. 대부분의 개발자가 식별자를 키로 사용하지만, 식별자로 사용할 수 없는 단어를 키로 사용할 때는 문자열을 사용한다.
식별자가 아닌 문자열을 키로 사용했을 때는 무조건 대괄호[...]를 사용해야 객체의 요소에 접근 가능
사진 출처 : 혼공자
배열 내부에 있는 값을 요소, 객체 내부에 있는 값은 속성
메소드를 만들 때 특별한 이유가 있지 않은 한 화살표 함수를 사용하지 않는다.
: 기본적으로 this 키워드가 window 객체를 나타낸다 라고 설명할 수 있지만, 상황에 따라 또 다른 객체를 나타낼 수 있다.
도서 출처 : 혼자 공부하는 자바스크립트 / 윤인성 / 한빛미디어