https://www.youtube.com/playlist?list=PLOdNCETDjj4ZuRtVajPDAIXINc0rLjCiP
1. Call Stack
자바스크립트를 스택에 쌓는다.
다 실행하면 제거한다.
개발자 모드에 call stack 부분이 있는지 처음 알았음.
콜 스택은 한계가 있다.(스택에도 공간이 정해져 있다.) : Maximum call stack size exceeded
2. Primitive Types : 원시적인
undefinde
null
NaN
의 차이점
3. Value types and Reference types
값을 저장 하는 것과
값을 참조 하는 것의 차이 구분
[10] === [10]
false : 다른 메모리에 위치한 다른 오브젝트
Value : String, number, boolean, NaN, undefined, null
Reference: array, object, function
4. Type Coercion
false == 0
true == 1
5. type of , instance of
Value : String, number, boolean, NaN, undefined, null
Reference: array, object, function
type of 적용 시: Object, array, null 작동 안함
null [] {} --> Object 라고 뜨는 오류.
instance of 적용 시: Object, array 작동함
string, boolean, number등에서 작동하지 않음
type of
6. Scope
너의 variable이 존재하는가? 존재하지 않는가?
variable이 정의되었는가? 정의되지 않았는가?
1) Global
var
2) Block
const, let
7. Expression , Statement
expression : value를 리턴하는 무언가
statement : 그냥 명령.
if, else, else if, for, while 이런 지시어
8. IIFE 그리고 모듈
즉시함수호출 immediately-invoke Function Expressions
: 함수이다. 자기 자신을 일으키는 함수
Module
따라하기:
오류 발생: Access to script at '파일경로/src/export.js' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, chrome-untrusted, https.
npm install http-server -g
npx http-server
http://127.0.0.1:8080
오류 발생: Uncaught TypeError: Failed to resolve module specifier "
해결 참고: https://www.python2.net/questions-813840.htm
9. Message Queue, Event Loop
blocking : 파이썬
None blocking: 자바스크립트
blocking function : alert()
message Queue : Web api에서 온 메세지
10. setTimeout, setInterval, requestAnimationFrame
setTimeout: 몇 초 기다린 후 함수 실행
자바스크립트 개념이 아님. 브라우저, nodeJS 개념에서 왔음
setInterval : 정해진 매시간마다 함수를 실행시킨다.
clearInterval(아이디); : 정지
requestAnimationFrame : 뭔가를 최대한 빠르게 실행하고 싶다면 사용해라.
브라우저가 업데이트 할때마다 animation frame을 요청한다. 그래서 애니메이션을 수정할 수 있다.
'검색용 개발 블로그' 카테고리의 다른 글
[shell scirpt] date (0) | 2021.09.03 |
---|---|
개발 이력서 만드는 법(쉬움) (0) | 2021.08.29 |
bit and 연산자 (a&b>0) (0) | 2021.08.27 |
SQLite (.db3) (0) | 2021.08.27 |
shell script (0) | 2021.08.26 |