Development46 [21.01.22] YDKJSY - Objects Type JS 에는 6가지의 주요 타입들이 있다. string number boolean null undefined object object type(객체 타입) 을 제외한 나머지 타입들은 'primitive type'(원시 타입)이라고 한다. 그렇기에 다른 것들은 일단 넘어가고, 객체 타입에 대해 알아 보자. 이 타입에는 몇몇의 하위 타입들이 존재하는데, function, Array, Built-in Object가 그 예이다. 다른 두 가지에 대해서는 비교적 익숙하니 Built-in Object의 성질을 얘기해 보자면, 일단 이것들은 외형은 class 처럼 보일지 몰라도 JS에서는 그저 함수일 뿐이다. (생성자 '함수' 처럼 말이다.) String Number Boolean 해당 이름을 가진 타입을 객.. 2024. 1. 7. [21.01.19] YDKJSY - this Or That? / this All Makes Sense Now! ⚠️ 여기서 설명하는 this는 JS 안에서의 개념이다. 다른 언어에서도 this를 사용하지만, 똑같은 개념으로 보는 일이 없도록 하자. Confusions this는 그 이름 때문에 개발자들에게 종종 혼동을 가져다 준다. 이 개념에 대해 크게 착각하는 두 가지가 있는데, 그것은 다음과 같다. this 는 선언된 함수 자신을 가리킨다. this 는 호출한 함수의 스코프를 가리킨다. 이러한 착각은 주로 this를 렉시컬 스코프의 개념과 연관지어 추론할 때 발생하고는 한다. What's this? 바인딩 = binding = 묶는, 결속하는 행위 this는 동적으로 무언가를 바인딩한다. 즉, 함수 인용 조건에 따른 맥락 의존적인 성격을 가지고 있는 개념으로 보는 게 더 정확하다. 그렇기 때문에 this는 함.. 2024. 1. 7. [21.01.16] YDKJSY - Appendix A: Exploring Further Implied Scopes 스코프는 가끔 관찰되지 않는 영역에서 생성된다. 이 스코프는 프로그래밍을 할 때 상식 선에서 코드를 작성한다면, 프로그램에 거의 영향을 끼칠 일은 없겠지만 그럼에도 불구하고 알 만한 가치가 있는 지식이 되어줄 것이다. Parameter scope Function name scope Parameter Scope 함수의 매개 변수는 기본적으로 함수 내의 지역 변수와 동일한 스코프를 공유할 수 있다 볼 수 있지만, 매번 그렇지는 않다. 단순한 매개 변수의 선언인 경우 이 표현이 허용될 수 있다. 하지만 default parameter(a = b), rest parameter(...args), destructured parmeter({a, b}) 처럼 조금 복잡하게 인용된 매개 변수로.. 2024. 1. 7. [21.01.13] YDKJSY - The Module Pattern Encapsulation and Least Exposure 캡슐화는 종종 OOP의 원리로 인용된다. 하지만 이 개념은 더 포괄적인 영역을 맡고 있고, 최근 컴포넌트 기반 아키텍처의 어플리케이션을 설계하는 프론트 엔드 개발 영역에 이끄는 트렌드로 작용하고 있다. 캡슐화를 이용하는 가장 큰 목적은 데이터와 기능의 가시성을 통제하는 데에 있다. 이는 이전 챕터에서 다루었던 '노출의 최소화'의 관점과 같은 맥락을 유지하고 있고 JS에서는 렉시컬 스코프의 기술을 통해 이 관점을 지키고 있다. 이러한 노력의 자연스러운 결과는 결국 더 나은 코드의 체계화를 지향한다는 것이다. 어떤 경계를 기준으로 무엇이 어디 있는지 쉽게 알 수 있다는 것은 소프트웨어의 유지보수를 더 용이하게 하고 데이터와 기능의 외부 스코프로 무방.. 2024. 1. 7. 이전 1 ··· 3 4 5 6 7 8 9 ··· 12 다음