Develop/javascript

JavaScript 기본 정리

nuKeguyS 2018. 9. 29. 18:26

"모던 웹을 위한 JavaScript jQuery 입문" 책 훑으면서 메모

타입

primitive type : string, number, boolean(true - 1, false - 0)

reference type : function, object

etc : undefined

형변환

문자열과 숫자 연산에서 더하기 연산자를 제외한 사칙 연산자는 숫자가 우선
'52' + 273 = '52273'
'52' * 273 = 14196

선언적 함수와 익명 함수

선언적 함수가 먼저 해석된다.(= 호이스팅, 참고 : 함수선언과 함수표현)

클로저

지역 변수를 남겨두는 현상, 함수로 생성된 공간, 리턴된 함수, 살아남은 지역변수 등등 정의는 다양
self. "함수 내부의 지역 변수를 리턴된 내부 함수를 통해 접근하는 것"

타이머 함수

타이머 함수나 웹 요청등은 웹 브라우저가 처리하고 완료를 자바스크립트로 알려주는 방식으로, 현재 단위가 끝나기 전에 실행되지 않는다.
즉, 0초 타이머를 실행하더라도 이후의 실행이 모두 완료되고 난 후에 타이머가 실행된다.
아래는 항상 A > C > B의 순서로 실행된다.
alert('A');
setTimeout(function () {
alert('B');
}, 0};
alert('C')

Infinity, NaN

Infinity와 -Infinity가 있다. > isFinite()사용
NaN은 스스로를 비교할 수 없다. > isNaN() 사용

Number() vs parseXXX()

Number()는 숫자로 바꿀 수 없으면 NaN
parseInt(), parseFloat()은 변환할 수 있는 부분 까지만 숫자로 변환

With

with 키워드 사용시 속성과 외부 변수이름이 같으면 충돌, 속성이 우선.

Prototype

생성자 함수로 생성된 객체가 공통으로 가지는 공간