자바스크립트
-
[넘블] DataFetching 모듈 설계하기자바스크립트 2022. 6. 30. 20:35
아래의 AuthService 클래스는 인증 관련 비즈니스 로직들을 다루는 모듈입니다. 기능적으로 문제없지만 리팩토링할 수 있는 부분들은 있습니다. class AuthService { /** refreshToken을 이용해 새로운 토큰을 발급받습니다. */ async refresh() { const refreshToken = cookies.get("refreshToken"); if (!refreshToken) { return; } const { data } = await axios.post( process.env.NEXT_PUBLIC_API_HOST + "/auth/refresh", null, { headers: { Authorization: `Bearer ${refreshToken}`, }, } ); c..
-
클로저자바스크립트 2021. 9. 4. 17:00
여러 블로그들과 책을 통해 클로저와 관련 개념들을 정리했습니다. 오류가 있을 수 있습니다. 문제 예시 var arr = []; for (var i = 0; i < 3; i++) { arr[i] = function () { return i; }; } for (var j = 0; j < arr.length; j++) { console.log(arr[j]()); } // 결과값 3 3 3 코드 결과값이 0 1 2 로 나올 것이라 생각할 수 있지만 사실 위 코드를 실행하면 결과값이 3 3 3으로 나옵니다. 어떻게 이런 결과가 나왔는지 이해하기 위해 몇 가지 개념들을 알아보겠습니다. 실행 컨텍스트 & 렉시컬 환경 & 렉시컬 스코프 var one = 1; function firstFunc() { var two = ..
-
프로토타입 체인 & toString()자바스크립트 2021. 8. 31. 17:03
MDN 페이지를 통해 공부한 것을 정리한 내용입니다. 프로토타입 체인 자바스크립트는 프로타입 기반 언어라고 불리우는데 그 이유는 프로토타입 방식을 통해 서로 간에 상속하기 때문입니다. 모든 객체들은 메소드와 속성을 상속받기 위해 프로토타입 객체를 가지며, 또 해당 프로토타입 객체는 상위 프로토타입 객체로부터 메소드와 속성을 상속 받아 서로 간의 체인을 이루어져 있습니다. 예를 보겠습니다. function Person(name, age, gender) { this.name = name; this.age = age; this.gender = gender; } var dohpark = new Person("dohpark", 29, "male"); 프로토타입 스코프를 확인하겠습니다. dohpark은 Person..