본문 바로가기
반응형

개발/Javascript42

자바스크립트 엔진과 자바스크립트 런타임 차이 읽고 정리 https://ktseo41.github.io/blog/fe-article/javascript-engines-runtimes.html 자바스크립트 엔진과 런타임의 차이점은 무엇인가요? | bohyeon.dev ktseo41.github.io위 글을 읽고 생각정리를 위한 요약ECMAScript1997년에 자바스크립트가 어디에 구현되던 무조건 따라야 하는 명세가 발표되었고 이를 ECMA-262라고 한다.ECMA-262는 ECMAScript 언어 명세서 라는 또다른 이름을 갖게 되었다. ECMAScript는 구현과 상관없이 반드시 준수해야 하는 자바스크립트의 핵심기능을 정의한다.WebApi에 들어가는 setTimeout은 ECMAScript에 포함되지 않지만 Array, Object, Promise는 ECMA.. 2024. 8. 15.
객체 변경 방지 하는 법 * 프로퍼티 어트리뷰트가 어떤건지 모르면 프로퍼티 어트리뷰트가 뭔지 공부하고 이 글을 보는것이 더 좋을 것 같다. * Typescript를 사용한다면 as const로 해결 할 수 있다. 객체 변경 방지 const로 정의한 객체는 메모리 주소를 할당하기 때문에, 변화가 가능한 값이다. JS에서는 객체의 변경을 방지하는 다양한 메서드를 제공한다. 구분 메서드 프로퍼티 추가 프로퍼티 삭제 읽기 쓰기 재정의 객체 확장 금지 Object.preventExtensions x o o o o 객체 밀봉 Object.seal x x o o x 객체 동결 Object.freeze x x o x x 객체 확장 금지 : Object.preventExtensions const person = {name:'Lee'} // 확장.. 2024. 2. 8.
렉시컬환경과 클로저, 그리고 React에서 이전 state를 기억하는 방식 렉시컬환경 렉시컬환경은 실행중인 함수와 코드블록을 포함하는 검색범위인데, 쉽게 이해하려면 코드블록과 연관지어 이해하는 것이 편하다. 변수에 접근할 땐, 내부 렉시컬 환경 -> 외부 렉시컬 환경 -> 외부 2 렉시컬 -> 전역 렉시컬 환경으로 검색범위를 확장한다. 아니면 그냥 스크린샷이라고 생각하자. 리액트 함수 컴포넌트에서의 렉시컬환경과 클로저 클로저 클로저는 '내부함수가 자신이 선언되었을때의 환경을 기억하는 성질' 라는 글도 있고, 클로저는 '외부 변수를 기억하고 이 외부 젼수에 접근할 수 있는 함수' 라는 글도 있다. 어쨌든, new Function으로 만든 함수를 제외한 모든 JS의 함수는 클로저이다 . 함수는 호출 할 때마다, 새로운 렉시컬 환경이 생성되고 외부 변수는 마지막 접근했던 당시의 렉.. 2023. 12. 16.
onClick과 onMousedown의 차이 onClick과 onMousedown의 차이 react test 코드 만드는것을 연습하면서 혼자 select box를 만들다 예전에 작성한 이 글을 참고하게 되었다. TIL : onBlur때문에 onClick이 실행되지 않을 땐, onMouseDown을 사용 setVisibleUlTag(!visibleUlTag)} onBlur = {()=>setVisibleUlTag(false)} > n개씩보기 {visibleUlTag ? {array.map(el)=> n개씩보기} : null} button클릭 li태그 노출 li태그 클릭시 onClick이 실행되기 전에 button태그의 onBlur가 실행되 wnsdufdl.tistory.com 궁금해졌다. 왜 onMousedown에 list click event를 할.. 2023. 11. 21.
반응형