본문 바로가기

javascript, node10

실행 컨텍스트(Execution Context) - Record 자바스크립트를 사용하면서 실행 컨텍스트에 대해서 전혀 모르고 있었다. scope, hoisting, closure개념도 자바스크립트를 사용하면서 감각적으로 알고 있는게 전부였다. 그러던 도중에! 우아한 테크톡의 하루님의 실행컨텍스트 발표를 들으면서 실행 컨텍스트를 왜 알아야 하는지 알게 되었고 자바스크립트의 원리에 대해서 좀 더 알 수 있었다. 이전에 공부했던 이벤트 루프와 관련되어 있어서 같이 공부하면 이해하는데 더 도움이 될 것 같다. 👉 실행 컨텍스트란? 코드를 실행하는데 필요한 환경을 제공하는 객체 코드를 실행하는데 필요한 조건이나 상태를 모아둔 객체 식별자 결정을 더욱 효율적으로 하기 위한 수단 scope, hoisting, closure의 동작원리를 담고 있는 자바스크립트의 핵심 원리 실행 컨.. 2021. 12. 28.
javascript ++연산자 리액트, node만 사용하다보니 html, css, js의 기초적인 부분이 미흡하여 간단하게 다시 익히기 위해 프로젝트를 따라하면서 배우는 중이다. 여기서 ++ 연산자에 대해서 몰랐던 부분을 알게 되었다. answerButton.addEventListener( "click", () => { const children = document.querySelectorAll(".answerButton"); for (let i = 0; i < children.length; i++) { children[i].disabled = true; // 버튼 비활성화 children[i].style.display = "none"; } goNext(qnaIdx++); }, false ); 우선 문제의 코드는 위와 같다. 코드 내.. 2021. 11. 27.
Event Loop가 무엇일까? 자바스크립트 자체는 싱글 쓰레드이지만, 다른언어로 이루어진 백그라운드로 인해서 멀티 쓰레드가 가능하다. 그래서 작업을 동시에 처리할 수 있다. 이렇게 멀티 쓰레드로 구동되는 방식을 Event Loop라고 한다. 구성은 콜스택(호출스택), 백그라운드, 태스크큐, 마이크로 태스크 큐로 구성되어 있다. function a() { b(); console.log("1"); } function b() { c(); console.log("2"); } function c() { console.log("3"); } a(); 위 코드를 실행하였을 때, 호출 스택에 a(),b(),c()순서로 쌓이게 되고 c()함수 부터 종료가 되면서 3,2,1순으로 출력이 된다. 이와 같이 호출 스택으로 이루어진 자바스크립트 코드라면 단순.. 2021. 11. 16.
sort에 대해서 좀 더 알아보기 프로그래머스 문제중 "문자열 내 마음대로 정렬하기"를 풀어보면서 sort메서드를 다시 한번 공부할 수 있었다. 단순하게 사용하면 쉽지만, sort안쪽의 compare함수를 이용한 정렬이라면 다소 헷갈리는 부분이 있었다. 그 부분에 대해서 알아보도록 하자! 우선 sort정렬은 Tim Peters에 의하여 만들어진 정렬 방식이다. 좀 더 자세한 내용을 알고 싶다면 여기에서 공부하자. sort() let a = [1, 12, 21, 130]; a.sort(); //[1,12,130,21] let b = ["caa", "abc", "bca", "bac"]; b.sort(); //["abc", "bac", "bca", "caa"] 숫자 자체를 비교하는게 아니라 각 숫자의 첫째 자리부터 작은 순서대로 정렬이 된다... 2021. 11. 6.