프론트엔드 개발 94

자바스크립트) 함수형 프로그래밍

0. 프로그래밍 패러다임 - 프로그래밍 패러다임은 프로그래밍을 어떻게 접근하고 문제를 해결하는데 사용되는 기본적인 철학이나 방법론을 의미함 - 간단히 말하자면, 프로그래머들이 코드를 작성하는 방식과 관련된 규칙과 원칙의 집합이다. - 절차지향 프로그래밍(프로그램을 일련의 절차나 단계로 구분하고, 각 단계에 필요한 기능을 함수로 구현하는 방식 ex: C언어), 객체지향 프로그래밍, 함수형 프로그래밍, 함수형 반응형 프로그래밍과 같은 것들을 프로그래밍 패러다임이라고 한다. 프로그램을 만들 때도 원하는 목표에 따라서, 적절한 방법과 기법을 활용해서 프로그램을 만들어나가게 된다. 함수형 특화된 언어는 아래와 같다. 객체지향 프로그래밍 + 함수형 프로그래밍에서 사용하는 몇가지 특징을 접목한 프로그래밍 언어가 있다..

자바스크립트) 일급객체

✅면접 질문을 위한 요약본 1) 일급객체 - 일급시민처럼 어떠한 특별한 혜택을 받는 것이 아니라, 사용할 때 다른 요소들과의 아무런 차별이 없다는 것을 뜻한다. 2) 일급객체 충족하는 조건 - 변수에 데이터를 담을 수 있어야한다. (함수 표현식 이용) - 함수의 파라미터로 전달 할 수 있어야한다. (콜백함수 형태로 자유롭게 이용가능) - 함수의 리턴값으로 사용할 수 있어야한다. 0. 일급객체(first class object) 일급객체를 알아보기 전에 first class citizen, second class citizen 은 무엇일까? first class citizen 이란 자유롭게 거주하고 일 할 수 있고, 출입국의 자유를 가지며, 투표의 자유를 가지는 시민이다. second class citiz..

자바스크립트) 생성자 함수

0. 생성자 함수 생성자 함수란 new 연산자와 함께 호출하여 객체를 생성하는 함수를 말한다. 생성자 함수에 의해 생성된 객체를 인스턴스라고 한다. 자바스크립트는 Object 생성자 함수 이외에도 String, Number, Boolean, Function, Array, Date, RegExp, Promise 등의 빌트인 생성자 함수를 제공한다. 아래 예제는 Object 생성자 함수로 객체를 생성하는 방법이다. const obj = new Object(); // 동적 프로퍼티 추가 obj.id = 'leo'; obj.velog = function () { console.log('Hello Velog'); } console.log(obj); // { id: 'Leo', velog: [Function (an..

자바스크립트) this

0. this this는 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 자기 참조 변수이다. this를 통해 자신이 속한 객체 또는 자신이 생성할 인스턴스의 프로퍼티나 메서드를 참조할 수 있다. this는 자바스크립트 엔진에 의해 암묵적으로 생성되며, 코드 어디서든 참조할 수 있다. 단 this가 가리키는 값, 즉 this 바인딩은 함수 호출 방식에 의해 동적으로 결정된다. 1. this 바인딩이란? 바인딩이란 식별자(변수)와 값(원시 값 또는 객체)을 연결하는 과정을 의미한다. 예를 들어, 변수 선언은 변수 이름(식별자)과 확보된 메모리 공간의 주소를 바인딩하는 것이다. this 바인딩은 this(키워드로 분류되지만 식별자 역할을 한다)와 this가 가리킬 객체를 바인딩하는 것이다. 2. t..

자바스크립트) 클로저 끝장 정리

클로저에 관한 게시글을 읽기 전에 렉시컬 환경, 스코프체인에 관해 알고오시면 도움됩니다! 0. 클로저 - 외부 변수를 기억하고, 이 외부 변수에 접근할 수 있는 함수를 의미한다. - 내부 함수는 외부함수의 지역변수에 접근할 수 있는데, 외부함수의 실행이 끝나서 외부함수가 소멸된 이후에도 내부함수가 외부함수의 변수에 접근할 수 있는 것 - 함수와 그 함수가 선언되었을 때의 렉시컬환경과의 조합이라고 부르며, 내부 함수가 외부 함수 변수에 접근할 수 있는 자바스크립트 기능을 말한다. // 외부 함수 function closuer() { // 변수 정의 var count = 0; // 내부 함수(클로저) 선언 function inner() { return ++count; } // 내부 함수 반환 return i..

자바스크립트) 실행컨텍스트, 호이스팅, 렉시컬환경, 스코프체인

0. 실행컨텍스트 🔸정의 : 코드를 실행하는데 필요한 환경 정보를 모아놓은 객체 / 자바스크립트가 코드를 실행하기 위해 관리하는 Stack 구조의 실행환경 자바스크립트는 동일한 환경에 있는 환경 정보들을 모은 실행 컨텍스트를 콜스택에 쌓아올린 후 실행하여 코드의 환경과 순서를 보장할 수 있게 됩니다. 스택의 경우 FILO (First In, Last Out) 의 구조이기에 순서를 보장, 콜스택 내부에 쌓인 실행 컨텍스트의 정보를 통해 환경을 보장할 수 있는 것 여기서 환경이란 전역공간이 될 수 있고, 함수 즉 함수 내부의 환경이 될 수 있다. 🔸코드 실행 2단계 1단계(생성단계/소스코드 평가 과정) : 자바스크립트는 소스코드를 실행하기 전에 소스코드 전체를 훑으면서 문제가 없는지 체크하는 과정을 거친다...