본문 바로가기

자바스크립트3

[javascript] 자바스크립트의 이벤트루프? javascript는 대표적인 싱글스레드 언어입니다. 싱글스레드란 말 그대로 스레드가 하나라서 한번에 한가지 일밖에 못한다는 뜻입니다. 그런데 브라우저가 자바스크립트를 실행할 때 뭔가 동시에 여러가지 일을 하는 것 처럼 느껴지게 하지 않나요? 그 이유는 자바스크립트 엔진이 제공하지 못하는 여러 기능들을 제공하는데요 WebAPI, DOMAPI, setTimeout, HTTP Request 등 여러가지 브라우저가 제공하는 api들로 비동기처리를 도와줍니다. 1. 함수를 실행하면 콜스택에 우선 추가됩니다. 이 콜스택은 자바스크립트 엔진에 있는 건데요, 스택! 이기 떄문에 선입후출(FILO) 하게됩니다. 함수가 값을 return함과 동시에 콜스택은 그 함수를 pop 해버립니다. 2. setTimeout은 Web.. 2021. 4. 29.
[javascript] 자바스크립트 clean code 작성법 클린코드를 만드는 것은 개발할 때 중요합니다. 왜냐하면 개발할 때 여러명의 개발자와 함께 협업하기 때문에 읽기 쉽고 유지보수 하기도 좋아야하기 때문입니다. 오늘은 몇 가지 자바스크립트 클린코드 스니펫을 소개하겠습니다. 1. 다중 조건일 때 or연산자 나열한 것 축약하기 if 문 안에 여러 개의 or 조건을 추가해야할 때가 있는데요. 중복된 코드가 한없이 길어집니다. 이것을 include() 메소드를 이용해서 간결하게 만들 수 있습니다. (그러나 include() 메소드를 지원하지 않는 브라우저가 있기 때문에 낮은 버전 브라우저도 대응하는 서비스를 개발한다면 사용전 확인은 꼭 해야합니다.) // 기존 방법 if (col === "score" || col === "age" || col === "mobile".. 2021. 4. 27.
Javascript 디자인패턴 - 1. Callback 패턴 Callback 패턴 콜백은 나중에 실행할 부차 함수에 인자로 넣어지는 함수입니다. 자바스크립트에서 함수는 일급 객체로 여겨지기 때문에 함수도 다른 함수에 인자로 전달할 수 있습니다. 여기서 콜백이 실행될 나중 시점이 부차 함수의 실행 완료 이전이면 전부 동기 콜백이지만, 비동기 콜백도 적용기법은 같습니다. 프로미스는 비동기 콜백에서만 사용됩니다. 콜백 패턴은 자바스크립트에서 정말 중요한 패턴입니다. function getResult(callback) { console.log("result"); callback(); //인자로 넘겨받은 add() 함수가 실행된다. } //인자로 넣어지는 콜백함수 function add(a, b) { return a + b; } 콜백 패턴을 테스트할 때 확인해야 할 점으로.. 2021. 4. 14.