본문 바로가기

전체 글72

NHN FORWARD 2020 좋은 발표들이 많아 몇 번 들으며 이해할 수 있도록 하기 위해 남깁니다. 추후 추가해나갈 예정입니다. _____ 더 나은 내일을 위한 리팩터링 내가 만든 WebFlux가 느렸던 이유 천천히 읽어 보는 Chrome 개발자 도구 설명서 2021. 1. 3.
var과 let의 차이점 이전에 함수에 대해 게시글을 적으며 적었지만, 조금 더 범위를 좁혀 ES6[1]에서 추가된 let, const 그 중 let과 var의 차이점[2]에 대해 글을 써보려고 합니다. 자바스크립트의 기초라면 기초랄 수 있지만, 자바를 처음으로 배웠고 익숙치 않아서 그런지 자주 까먹어 글로 남겨놓는 것이니 수정할 부분이 있다면 댓글로 남겨주세요. 감사합니다. _____ var funcs = []; for (var i = 0; i < 3; i++) { funcs[i] = function() { console.log("My value: " + i); }; } for (var j = 0; j < 3; j++) { funcs[j](); } // My value: 3 // My value: 3 // My value: 3.. 2021. 1. 2.
비동기 처리 자바스크립트는 그 자체로는 동기적인 언어[1]입니다. 하지만 많은 사람들이 자바스크립트를 자바 등과 다르게 비동기적인 언어라고 알고 있습니다. 바로 다음과 같은 예 때문입니다. setTimeout(() => console.log("Horse A"), 0); console.log("Horse B"); 위 코드의 실행 결과는 위에서부터 순서대로 찍히지 않고 Horse B가 먼저 찍힙니다. 이처럼 자바스크립트가 특정 환경에서 실행할 때, 다시 말해 서버와의 네트워크 통신이나 setTimeout 함수와 같은 웹 API[2]를 사용할 경우 비동기적으로 동작합니다. 이 글에서는 자바스크립트가 다양한 환경에서 비동기 처리를 어떤 식으로 해왔는지에 대해 적어보고자 합니다. 공부 목적으로 적은 글이니 틀린 부분이나 피드.. 2020. 12. 27.
느슨한 연결 최근 제가 작성한 JS 코드가 유지보수하기 힘들고 파악하기 쉽지 않다는 느낌을 받았고, 그 원인에 대한 생각을 하다가 이 글을 작성하게 되었습니다. 수정할 부분이 있다면 댓글로 피드백 부탁드립니다. 참고자료의 출처는 하단에 기재하였습니다. 글의 대략적 목차는 아래와 같습니다. 1. 전역 선언 방지 2. One-Global 접근법 3. UI 레이어 느슨하게 연결하기 _____ 전역 선언 방지 전역 객체를 사용하면 어디에서나 사용 가능한 변수나 함수를 만들 수 있다[1]. 전역 객체는 언어 자체나 호스트 환경에 기본 내장되어 있는 경우가 많다[2]. alert("Hello"); // 위와 동일하게 동작합니다. window.alert("Hello"); var gVar = 5; alert(window.gVar).. 2020. 12. 27.