본문 바로가기

[자바스크립트] 클래스 (feat 코어 자바스크립트) 들어가며 많은 기업들이 타입 스크립트와 nest.js를 활용해서 서버 개발을 하곤 합니다. 취업을 하려면, 타입 스크립트와 nest.js를 공부해서 실무를 익히는 것이 중요할 것입니다. 하지만 아직 자바스크립트의 기초도 없는 상태에서 타입 스크립트와 nest.js를 공부하는 것이 맞을까 하는 생각이 들었습니다. 빠르게 기술변화를 적응하고, 러닝 커브를 줄이기 위해 빠르게 공부해야 하는 것도 맞겠지만, 그전에 언어의 기반이 되는 자바스크립트부터 제대로 알아야 하지 않을까 하는 생각이 들었습니다. 이 기회에 자바스크립트의 기본에 대해 정리해보고자 합니다. 클래스 자바스크립트는 프로토타입 기반 언어이므로 클래스의 개념이 존재하지 않습니다. 하지만 프로토타입을 일반적인 의미에서의 클래스 관점에서 접근해보면 비슷..
[자바스크립트] Getter와 Setter 들어가며 여행을 떠나보면, 언젠가 왜 이 여행을 하려 했을까 하는 생각이 들 때가 있었습니다. 공부를 할 때도 마찬가지였습니다. 자바스크립트를 활용해서 개발하고 있는데, 자바스크립트에 대한 기본은 알고 있는지, 왜 자바스크립트로 개발을 하려고 했는지 이유가 궁금할 때가 있었습니다. 이 고민에 대한 해답을 찾기 위해서는 자바스크립트, Node.js에 대해 자세하게 알아야겠다고 생각했습니다. 이번 기회를 통해 자바스크립트, Node.js에 대해 이해해야겠다고 생각했습니다. Getter와 Setter ES2015에서는 향상된 객체 리터럴 표기법을 소개했습니다. 그중에서 setter 및 getter 함수를 제공하기 시작했습니다. 그럼 setter 및 getter 구문을 사용할 수 있는 방법을 살펴보겠습니다. c..
[자바스크립트] Map, Set, WeakMap, WeakSet 들어가며 여행을 떠나보면, 언젠가 왜 이 여행을 하려 했을까 하는 생각이 들 때가 있었습니다. 공부를 할 때도 마찬가지였습니다. 자바스크립트를 활용해서 개발하고 있는데, 자바스크립트에 대한 기본은 알고 있는지, 왜 자바스크립트로 개발을 하려고 했는지 이유가 궁금할 때가 있었습니다. 이 고민에 대한 해답을 찾기 위해서는 자바스크립트, Node.js에 대해 자세하게 알아야겠다고 생각했습니다. 이번 기회를 통해 자바스크립트, Node.js에 대해 이해해야겠다고 생각했습니다. Map과 Set ES2015에서는 해시 맵 컬렉션을 활용하도록 Map이라는 새로운 프로토타입을 도입했습니다. 간단히 예를 들어보겠습니다. const profiles = new Map(); profiles.set('twitter', '@ad..
[자바스크립트] 프로토타입 (feat 코어 자바스크립트) 들어가며 많은 기업들이 타입 스크립트와 nest.js를 활용해서 서버 개발을 하곤 합니다. 취업을 하려면, 타입 스크립트와 nest.js를 공부해서 실무를 익히는 것이 중요할 것입니다. 하지만 아직 자바스크립트의 기초도 없는 상태에서 타입 스크립트와 nest.js를 공부하는 것이 맞을까 하는 생각이 들었습니다. 빠르게 기술변화를 적응하고, 러닝 커브를 줄이기 위해 빠르게 공부해야 하는 것도 맞겠지만, 그전에 언어의 기반이 되는 자바스크립트부터 제대로 알아야 하지 않을까 하는 생각이 들었습니다. 이 기회에 자바스크립트의 기본에 대해 정리해보고자 합니다. 프로토타입 면접에서 프로토타입에 대해 물었을 때, 제대로 대답하지 못했던 경험이 있습니다. 자바스크립트를 프로토타입 기반의 언어라고 하는데, 그렇다면 클래..
[자바스크립트] var, let, const의 차이를 알아보자 (feat. TDZ) 들어가며 자바스크립트로 개발을 하면서, 호이스팅 이라는 개념을 알고서는 개발은 참 심오하고 어렵구나 생각했던 기억이 있습니다. 변수는 분명 아래에 있는데, 왜 위에서 그 변수를 부르면 코드가 어떻게 이해할 수 있을까 신기해하곤 했습니다. 그러던 중 누군가 저에게 호이스팅에 대해 이야기하면서 TDZ에 대해 이야기한 적이 있습니다. TDZ에 대해 처음 들어본 개념이었기에, 아직 자바스크립트에 대해 제대로 모르고 있구나 라는 생각을 했습니다. 이번 기회에 이 부분을 제대로 정리해봐야겠다고 생각했습니다. 이상한 알 수 없는 에러는 무엇인가? 가끔 개발하다 보면 Cannot access 'X' before initialization과 같은 에러를 받아보곤 했습니다. 초기화 전에는 접근할 수 없다는 뜻인데, 여기서..
[자바스크립트] 클로저 (feat 코어 자바스크립트) 들어가며 많은 기업들이 타입 스크립트와 nest.js를 활용해서 서버 개발을 하곤 합니다. 취업을 하려면, 타입 스크립트와 nest.js를 공부해서 실무를 익히는 것이 중요할 것입니다. 하지만 아직 자바스크립트의 기초도 없는 상태에서 타입 스크립트와 nest.js를 공부하는 것이 맞을까 하는 생각이 들었습니다. 빠르게 기술변화를 적응하고, 러닝 커브를 줄이기 위해 빠르게 공부해야 하는 것도 맞겠지만, 그전에 언어의 기반이 되는 자바스크립트부터 제대로 알아야 하지 않을까 하는 생각이 들었습니다. 이 기회에 자바스크립트의 기본에 대해 정리해보고자 합니다. 클로저의 의미 및 원리 이해 앞에서 실행컨텍스트에 대해 배운 지식을 바탕으로 클로저를 정의해본다면, 클로저란 외부 함수의 변수를 참조하는 내부 함수를 외부..
[자바스크립트] 콜백 함수란? (feat 코어 자바스크립트) 들어가며 많은 기업들이 타입 스크립트와 nest.js를 활용해서 서버 개발을 하곤 합니다. 취업을 하려면, 타입 스크립트와 nest.js를 공부해서 실무를 익히는 것이 중요할 것입니다. 하지만 아직 자바스크립트의 기초도 없는 상태에서 타입 스크립트와 nest.js를 공부하는 것이 맞을까 하는 생각이 들었습니다. 빠르게 기술변화를 적응하고, 러닝 커브를 줄이기 위해 빠르게 공부해야 하는 것도 맞겠지만, 그전에 언어의 기반이 되는 자바스크립트부터 제대로 알아야 하지 않을까 하는 생각이 들었습니다. 이 기회에 자바스크립트의 기본에 대해 정리해보고자 합니다. 콜백 함수란? 콜백 함수는 다른 코드의 인자로 넘겨주는 함수입니다. 콜백 함수를 넘겨받은 코드는 이 콜백 함수를 필요에 따라 적절한 시점에 실행합니다. 예..
[자바스크립트] 명시적으로 this를 바인딩하는 방법 (feat 코어 자바스크립트) 들어가며 많은 기업들이 타입스크립트와 nest.js를 활용해서 서버 개발을 하곤 합니다. 취업을 하려면, 타입스크립트와 nest.js를 공부해서 실무를 익히는 것이 중요할 것입니다. 하지만 아직 자바스크립트의 기초도 없는 상태에서 타입스크립트와 nest.js를 공부하는 것이 맞을까 하는 생각이 들었습니다. 빠르게 기술변화를 적응하고, 러닝 커브를 줄이기 위해 빠르게 공부해야 하는 것도 맞겠지만, 그전에 언어의 기반이 되는 자바스크립트부터 제대로 알아야 하지 않을까 하는 생각이 들었습니다. 이 기회에 자바스크립트의 기본에 대해 정리해보고자 합니다. 명시적으로 this를 바인딩하는 방법 this에 별도의 대상을 바인딩하는 방법이 있습니다. 이 방법들에 대해 알아보겠습니다. 1. call 메서드 call 메서..
[자바스크립트] 상황에 따라 달라지는 this (feat 코어 자바스크립트) 들어가며 많은 기업들이 타입 스크립트와 nest.js를 활용해서 서버 개발을 하곤 합니다. 취업을 하려면, 타입 스크립트와 nest.js를 공부해서 실무를 익히는 것이 중요할 것입니다. 하지만 아직 자바스크립트의 기초도 없는 상태에서 타입 스크립트와 nest.js를 공부하는 것이 맞을까 하는 생각이 들었습니다. 빠르게 기술변화를 적응하고, 러닝 커브를 줄이기 위해 빠르게 공부해야 하는 것도 맞겠지만, 그전에 언어의 기반이 되는 자바스크립트부터 제대로 알아야 하지 않을까 하는 생각이 들었습니다. 이 기회에 자바스크립트의 기본에 대해 정리해보고자 합니다. 상황에 따라 달라지는 this 자바스크립트에서 this는 기본적으로 실행 콘텍스트가 생성될 때 함께 결정되며, 함수를 호출할 때 this가 결정됩니다. 지..
[자바스크립트] variable과 LexicalEnvironment (feat 코어 자바스크립트) 들어가며 많은 기업들이 타입스크립트와 nest.js를 활용해서 서버 개발을 하곤 합니다. 취업을 하려면, 타입스크립트와 nest.js를 공부해서 실무를 익히는 것이 중요할 것입니다. 하지만 아직 자바스크립트의 기초도 없는 상태에서 타입스크립트와 nest.js를 공부하는 것이 맞을까 하는 생각이 들었습니다. 빠르게 기술변화를 적응하고, 러닝 커브를 줄이기 위해 빠르게 공부해야 하는 것도 맞겠지만, 그전에 언어의 기반이 되는 자바스크립트부터 제대로 알아야 하지 않을까 하는 생각이 들었습니다. 이 기회에 자바스크립트의 기본에 대해 정리해보고자 합니다. VariableEnvironment 실행 컨텍스트 객체에는 다음과 같은 정보가 담깁니다. VariableEnvironment : 현재 컨텍스트 내의 식별자들에 ..