https://www.notion.so/simsimjae/11-V8-JS-a7de64cbdba0434295abe8af6bf89b16 아래 글들은 검색엔진 노출을 위한 글입니다. 노션에서 확인하시면 이미지와 함께 정리된 글을 보실수 있습니다. 궁금하신점은 블로그 댓글이나 노션 코멘트를 이용해주세요(@comment) 제가 직접 만든 프로젝트입니다. http://pickvs.com : 닥전닥후 크롬의 엔진인 V8에 대해서 살펴보자. V8은 구글에서 제공하는 오픈소스 자바스크립트 엔진이다. SpiderMonkey, Rhino, JavaScriptCore등의 다른 엔진들도 있다. 이런 엔진은 자바스크립트를 CPU가 해석할 수 있는 기계어로 번역해주는 역할을 한다. V8엔진은 C++로 작성됬고 Node.js와 Ch..
https://www.notion.so/simsimjae/10-setTimeout-setInterval-b71a02545c8f44e6afcb6b685d675cd3 아래 글들은 검색엔진 노출을 위한 글입니다. 노션에서 확인하시면 이미지와 함께 정리된 글을 보실수 있습니다. 궁금하신점은 블로그 댓글이나 노션 코멘트를 이용해주세요(@comment) 제가 직접 만든 프로젝트입니다. http://pickvs.com : 닥전닥후 setTimeout function sayHi(phrase, who) { alert( phrase + ', ' + who); } setTimeout(sayHi, 1000, "Hello", "John"); //setTimeout(sayHi(), 1000); //sayHi()가 실행되면 und..
https://www.notion.so/simsimjae/9-e61ca697d9eb4094a55267d11cffe399 아래 글들은 검색엔진 노출을 위한 글입니다. 노션에서 확인하시면 이미지와 함께 정리된 글을 보실수 있습니다. 궁금하신점은 블로그 댓글이나 노션 코멘트를 이용해주세요(@comment) 제가 직접 만든 프로젝트입니다. http://pickvs.com : 닥전닥후 Q&A 자바스크립트는 싱글스레드인데, 어떻게 비동기 처리가 가능한거지? 자바스크립트 자체에서 비동기 처리를 하는게 아니라 브라우저의 도움을 받는다. 자바스크립트는 비동기 요청문을 보면 그걸 자기가 실행하는게 아니라 브라우저API를 사용해서 브라우저에게 비동기 처리를 맡겨버린다. 비동기 처리는 브라우저 내부의 자바스크립트 코어 상위단..
pickvs 프로젝트를 리팩토링 하던 도중 댓글과 관련된 기능들을 한데 모아 모듈로 수정하고 있었다. 댓글내부에는 대댓글을 펼칠수 있는 기능이 있기 때문에 외부 라이브러리인 accordion을 댓글 모듈에서 사용해야 한다. 라이브러리가 타겟에 대해서 each로 반복문을 돌면서 accordion객체를 초기화 해주고 있기 때문에 새롭게 동적으로 추가된 댓글은 each문에 포함되지 않아서 추가된 댓글에 대해 accordion을 새롭게 활성화 시켜야 하는 방법이 필요했다. 고민 끝에 댓글 모듈의 프로토타입에 event emitter를 확장하고 activateAccordion이라는 이벤트가 발생하면 외부라이브러리인 accordion을 초기화 해주는 방식을 생각했다. activateAccordion이벤트 등록은 댓..
https://www.notion.so/simsimjae/8-IIFE-940e8c79379c4b49afdf63bf6867a81a 불러오는 중입니다... 함수 선언문 function sayHi() { alert("Hello, World!"); } sayHi(); 위에서 sayHi 함수는 함수 선언문(statement)방식으로 만들어진 함수이다. 문장이기 때문에 함수명을 생략할수없다. 함수 표현식 var msg = "Hello, World!"; var sayHi = function() { alert(msg); }; sayHi(); 반면 위와 같이 함수를 값으로써 취급하는 함수표현식 방식으로도 함수를 만들수있다. 또한, 함수표현식은 값으로 취급될수 있기 때문에 함수의 이름이 없어도 된다. 기명 함수 표현식 v..
https://www.notion.so/simsimjae/7-vs-3a7d713eda67435b8da4b6d3d453170c 이 코드를 정확히 설명할 수 있다면 이 페이지에서 나가도 좋다. {} + 1 // 1 {2} + 2 // 2 {2+2} + 3 // 3 {2+2} - 3 // -3 const foo = () => { value = 14; } console.log(foo()); //undefined 위와 같이 함수 호출 자체는 어떤 값(undefined)이 리턴되기 떄문에 표현식이라고 할 수 있다. 마찬가지로, 함수 내부에서는 어떤 변수의 상태를 바꿀수 있는 문장을 포함한다. const foo = () => { return 14; } 그러므로 저렇게 애매하게 표현식도, 문장도 아니게 함수를 만들지 ..
https://www.notion.so/simsimjae/expression-vs-statement-dc4e667043ac4b2fb6e682548cb4ac80 const x = 5; const y = getAnswer(); 위의 두 코드라인은 컴퓨터과학에서는 상황에 따라 유사한 코드일수도 아닐수도 있다. 실제로 어떤일이 일어나는지에 대해서 생각하면 두 라인은 전혀 유사하지않다. 하나는, 값을 할당하는것이고 또하나는 외부 함수를 호출하는것이다. 다른 관점에서 생각해보자. 뛰는것과 비행기를 타는것은 매우 다른 행위이지만 특정 레벨에서 보면 이 두개는 비슷한 행위이다. 둘다 이곳에서 저곳까지 가는 행위이다. 위의 두 코드도 어떤 레벨에서 보면 유사한코드이다. 값을 할당하고 있기 때문이다. expression은..
https://www.notion.so/simsimjae/6-f3089808ef3f40e1bb0ba2bd20cae432 자바스크립트에는 전역스코프, 지역스코프 두가지가 존재한다. 전역 스코프에 변수를 정의하게 되면 window객체의 프로퍼티가된다. 모든 함수 및 객체에서 전역스코프에 접근할 수 있으므로 전역변수의 사용은 자제하는것이 좋다. 만약, 전역변수에 정의되어 있는 변수를 함수에서 재정의하게 되면 오류가 발생하게 된다. let a = 'something'; //...2만줄의 코드 이후..// let a = 'something'; //에러 발생 let이나 const 키워드로 변수를 선언하게 되면 변수 재정의시 에러가 발생하고 var키워드로 변수를 재정의하면 그냥 값을 오버라이드 하게 된다. 전역 변수..
- Total
- Today
- Yesterday
- Action
- useRef
- promise
- rendering scope
- atomic design
- react hooks
- Polyfill
- async
- return type
- es6
- javascript
- state
- useEffect
- hydrate
- react
- webpack
- server side rendering
- mobx
- typescript
- reducer
- Next.js
- storybook
- await
- design system
- reflow
- computed
- Babel
- props
- type alias
- reactdom
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |