전달인자(arguments)의 길이가 유동적이라면? Rest Parameter를 이용해 매개변수를 지정해줌 ( 인자를 배열로 받음 ) 매개변수가 배열의 형태로 전달됨 매개변수(parameter)의 길이가 유동적이라면? Spread Operator ( 배열을 하나하나 인자로 풀어서 사용 ) 다만, 이 arguments 객체는 배열같아 보이지만, 배열이 아...
발상의 전환을하면 이해가 쉬울 것 이다. [ function innerFn() {} => 클로저함수 ] 클로저 함수는 아래의 3가지에 접근이 전부 가능합니다. 지역변수(innerVar) 외부 함수의 변수(outerVar) 전역 변수(globalVar) 유용한 클로저 예제 1) 커링 : 함수 하나가 n개의 인자를 받는 대신, n개의 함수를 ...
속성 = 현재상태 메소드 = 액션 mdn 메소드 설명에 prototype이라고 붙어있는 이유? : push 구현이 원형 객체에 정의되어 있기 때문입니다. prototype : 모델의 청사진을 만들 때 쓰는 원형 객체(original form)입니다. constructor : 인스턴스가 초기화될 때 실행하는 생성자 함수 this 함수가 실행될 때, ...
PROTOTPY 인스턴스가 생성(instantiation)될 때 원형(original form), 즉 프로토타입의 모양대로 인스턴스가 생성 인스턴스 메소드는 Object.prototype.something으로 표현 ' prototype === 원형 ' ex) prototype은 붕어빵틀, instance는 붕어빵에 비유할 수 있다. Javascr...
getElementsByClassName 문제 Broswer에 존재하는 document.getElementsByClassName 함수를 직접 구현해보는 문제 getElementsByClassName 함수는 현재 documnet에서 주어진 className을 가지고 있는 모든 html element를 찾는 함수입니다. 결과는 항상 배열의 형태로 리턴해줍니다....
Recursion Recursion은 Function이 스스로를 내부에서 부르게 하여 문제를 해결하는 기술이다. 이렇게 하면 소량의 처리만 완료하고 나머지 문제를 재귀 호출에 위임할 수 있다. 함수를 스스로 호출하는 것 재귀는 반복할 구문을 함수 단위로 분리해, 특정 조건이 만족할 때 까지 실행하는 패턴으로 볼 수 있습니다. 재귀는 무한 반복을 방지하기 ...
앞으로 배웠으면 하는 것들의 키워드 프론트엔드 : JS, React => SPA(Single Page Application) 백엔드 : 'RESTful한 API'에 대해 이해 nodejs, express(라이브러리) RESTful한 API => http 프로토콜을 목적에 맞게 사용하는 방법 프론트엔드 개발 https://codepen.io/ => 다양...
_.uniq 나는 의사코드로 설계를 하는 것이 익숙하지도 않고 어렵기만 해서 설계과정을 생략하고 코드를 먼저 입력하곤 했었는데 앞으로는 강사님처럼 의사코드로 먼저 설계를 한 후에 코드를 입력하는 습관을 가져보도록 해야겠다. 출처 : https://sujinlee.me/pseudocode/ 코드는 컴퓨터 프로그램이나 알고리즘이 수행해야할 내용을 우리가...
JavaScript에서의 Primitive Types & Reference Types JavaScript에서 변수의 전달 방법인 pass-by-value, 그리고 또다른 방법인 pass-by-reference에 대한 설명입니다. 알아야 할 것들 JavaScript에는 두가지 종류의 변수 타입이 있습니다: primitive, reference 변수가 생성되...
class 문법으로 상속 extends 키워드 : 부모 클래스(base class)를 상속받는 자식 클래스(sub class)를 정의할 때 사용한다. super 키워드 : super 키워드는 부모 클래스를 참조(Reference)할 때 또는 부모 클래스의 constructor를 호출할 때 사용한다. super가 메소드로 사용될 때 super 메소드는 자식...
오늘 내 질문글에 친절하게 답변을 해주신 개발자님 덕분에 reduce 함수에 대해 흐지부지하게 알고있던 부분에 대해 다시한번 되짚어보는 좋은 시간을 가지게 되었다. 위의 데이터를 참고하여, products0 이럭식의 코드를 reduce로 표현해 보고 싶어 아래와 같이 코드를 짜보았다. 그런데..! " Cannot read property 'ingredi...
견과류나 버섯이 들어가있지 않은 피자 찾는 문제 1) for문 사용 2) Array method filter 사용 피자들을 만드는데 어떤 재료가 얼만큼 쓰였는지? 1) for문 사용 2) Array method map, reduce 사용 일단 map으로 ingredients value만 뽑아서 배열로 만들어준 후, reduce 안에서 caoncat...
Execution context image.png 1) 어떤 함수가 호출되면, 실행 컨텍스트(execution context)가 만들어진다. call stack에 push 함수를 벗어나면 call stack에서 pop 2) scope 별로 생성 3) 여기에 담긴 것 scope 내 변수 및 함수 (Local, Global) 전달 인자 (argumen...
객체 지향 프로그래밍 👉 각각의 인스턴스는 해당 클래스의 고유한 속성과 메소드를 갖는다 👉 클래스에 속성과 메소드를 정의하고, 인스턴스에서 이용한다. 👉 배열을 정의하는 것은 Array의 인스턴스를 만들어내는 것과 동일하다
클로저 : 외부 함수의 변수에 접근할 수 있는 내부 함수 👉 클로저 함수 안에서는 아래의 3가지에 모두 접근 가능합니다 지역 변수(innerVar) 외부 함수의 변수(outerVar) 전역 변수(globalVar) 유용한 클로저 예제 1. 커링 : 함수 하나가 n개의 인자를 받는 대신, n개의 함수를 만들어 각각 인자를 받게 하는 방법 2...
매개변수 Rest Parameter : 정해지지 않은 갯수의 인수를 배열로 나타낼 수 있게 합니다. Spread 연산자 (Spread Operator) : 연산자의 대상 배열 또는 이터러블(iterable)을 "개별" 요소로 분리한다. arguments : arguments 객체를 통해 인자값을 확인 : 유사 배열 객체 => 간단하게 순회가능한(iter...
Scope : 변수 접근 규칙에 따른 유효 범위 변수는 어떠한 환경 내에서만 사용 가능하며, 프로그래밍 언어는 각각의 변수 접근규칙을 갖고 있다. 변수와 그 값이, 어디서부터 어디까지 유효한지를 판단하는 범위 JavaScript는 기본적으로, 함수가 선언되는(lexical) 동시에 자신만의 Scope를 가진다. Rule 1 : Local Scope V...
call, apply 1. apply : apply() 메서드는 주어진 this 값과 배열 (또는 유사 배열 객체) 로 제공되는 arguments 로 함수를 호출합니다. 2. call : call() 메소드는 주어진 this 값 및 각각 전달된 인수와 함께 함수를 호출합니다. apply 응용 ) call 응용 ) : 배열 메소드를 유사 배열에 적용시키는...
call back 다른 함수(A)의 전달인자(argument)로 넘겨주는 함수(B) parameter를 넘겨받는 함수(A)는 callback 함수(B)를 필요에 따라 즉시 실행할수도 있고, 아니면 나중에 실행할 수도 있다. callback in action : 반복 실행하는 함수 (iterator); callback in action : 이벤트...