반응형

javascript 9

[🦄자바스크립트 완벽가이드] 표현식과 연산자

4.1 기본 표현식 상수, 리터럴 값, 일부 키워드, 변수 참조 4.2 객체와 배열 초기화 표현식 그 값이 새로 생성된 객체나 배열인 표현식. 객체 리터럴 혹은 배열 리터럴이라고 부른다 4.3 함수 정의 표현식 함수 리터럴 4.4 프로퍼티 접근 표현식 점 표기법, 대괄호 표기법 점 표기법은 접근하고자 하는 이름이 유효한 식별자이고, 그 이름을 알고 있을때만 사용 프로퍼티 이름에 스페이스나 구두점, 숫자인 경우, 변수일 때에는 대괄호 표기법을 써야한다. expression.identifier expression[expression] 조건부 프로퍼티 접근(옵셔널 체이닝) → undefined, null 일때 종료(undefined로 평가) ⇒ TypeError 방지 4.5 호출 표현식 함수나 메서드를 호출하..

[TIL] 210727 오늘 공부는 promise.all()

한번에 여러 개의(5개) 서버 요청을 하고, 모든 요청에 대한 응답을 다 받았을 때, 그 때 화면을 렌더링 하려면 어떻게 해야하냐는 처리에 대답을 하지 못했다. 끙... state를 요청 갯수만큼 만든다고 했는데 정말 비효율적인 대답이었다. (대답하고 속으로 매우 좌절함) 그리고 버스타고 가는 도중 자바스크립트 스터디원 중 한 분이 단톡방에서 promise.all 메서드에 대해서 얘기했는데, 순간 그 질문이 떠올랐다. 유레카! ! ! 아 맞다 프로미스 올..... 그래.... 드림코딩 엘리 인강 들으면서 배웠었지! 비동기의 병렬처리! 대답 못했으면 제대로 모르는 것이므로, 다음번에는 잘 대답하기 위해 오늘의 공부는 promise.all() 로 정했다(. ❛ ᴗ ❛.) promise.all() Promis..

개발일지/TIL 2021.07.29

[JavaScript] 스터디 9일차_ 프로토타입(1) 개념 및 constructor

1. 프로토타입의 개념 - 자바스크립트는 프로토타입 기반 언어다. 클래스 기반 언어에서는 "상속"을 사용하지만, 프로토타입 기반 언어에서는 어떤 객체를 원형(prototype)으로 삼고 이를 복제(참조)함으로써 상속과 비슷한 효과를 얻는다. 1.1 constructor, prototype, instance var instance = new Constructor(); 어떤 생성자 함수(Constructor)를 new 연산자와 함께 호출하면 Constructor에서 정의된 내용을 바탕으로 새로운 인스턴스(instance)가 생성된다. 이때 instance에는 __proto__ 라는 프로퍼티가 자동으로 부여되는데, 이 프로퍼티는 Constructor의 prototype이라는 프로퍼티를 참조한다. ⭐ proto..

[JavaScript] 스터디 8일차_ 클로저 (3) 활용(부분적용함수, 커링함수)

클로저(1) 개념 및 원리 게시글 보러가기 클로저(2) 활용 게시글 보러가기 3. 부분적용함수(Partial application) 부분적용함수(Partially applied function)란 n개의 인자를 받는 함수에 미리 m개의 인자만 넘겨 기억시켰다가, 나중에 (n-m)개의 인자를 넘기면 비로소 원래 함수의 실행결과를 얻을 수 있게끔 하는 함수 ⭐ 여러개의 인자를 전달할 수 있고, 실행 결과를 재실행할 때 원본 함수가 무조건 실행된다. 🌞 부분적용함수를 왜 쓸까? -> 미리 일부 인자를 넘겨두어 기억하게끔하고 추후 필요한 시점에 기억했던 인자들까지 함께 실행하고 싶을 때 3-1) 부분적용함수 예제_1번 - bind 메서드를 통해 this와 함수에 미리 넘길 인수를 일부 지정해서 새로운 함수를 만..

[JavaScript] 스터디 6일차_ 클로저 (1) 개념 및 메모리 관리

1. 클로저의 의미 및 원리 이해 MDN에서 정의하는 클로저는 "클로저는 함수와 그 함수가 선언될 당시의 Lexical Environment의 상호관계에 따른 현상" 어떤 함수 A에서 선언한 변수 a를 참조하는 내부변수 B를 외부로 전달할 경우, A의 실행 컨텍스트가 종료된 이후에도 변수 a가 사라지지 않는 현상 1) let 선언 변수는 호이스팅 되므로 렉시컬 환경에는 올라가지만 초기화는 되지 않는다. 2) 함수선언은 바로 초기화됨 3) let amy에서(1번째 줄) 할당이 안되어있기 때문에 undefined임 4) amy = 29 로 할당됨 5) plusAge(1)에서 새로운 렉시컬 환경이 생성된다. 현재 내부 렉시컬 환경은 외부 렉시컬 환경을 참조한다. (내부 렉시컬 환경에서 amy를 찾을 수 없어 ..

[JavaScript] 스터디 4일차_ this (2) call, apply, bind

1. call 메서드 메서드의 호출 주체인 함수를 즉시 실행하도록 하는 명령 - call 의 첫번째 인자를 this로 바인딩 - 그냥 실행하면 this === 전역객체 but call 메서드를 사용하면 임의의 객체를 this로 지정 가능 Function.prototype.call(thisArg[, arg1[, arg2[, ...]]]) //원래는 함수호출로 window {...} 출력이나 첫번째 인자로 this에 {x:1} 전달 var func = function (a,b,c) { console.log(this,a,b,c); }; func(1,2,3) //window {...} 1 2 3 func.call( {x:1}, 4,5,6); // {x:1} 4 5 6 출력 객체의 메서드 를 call 메서드로 호..

[JavaScript] 스터디 3일차_ this (1)

this = 함수를 호출 할 때 결정되는(실행 컨텍스트가 생성될 때) 것 = 호출한 놈!! "나" 라는 단어를 부르는 사람에 따라 의미가 달라지듯이, this 는 아래의 "나"와 같은 역할을 한다. 1. 전역공간에서의 this ⭐ 전역공간에서의 this === window 전역변수를 선언하면 자바스크립트 엔진은 이를 전역객체의 프로퍼티로 할당한다. 자바스크립트의 모든 변수는 특정 객체의 프로퍼티로서 동작. 실행 컨텍스트는 변수를 수집해서 LexicalEnvironment(LE) 에 저장하고, 어떤 변수를 호출하면 LE를 조회해서 일치하는 프로퍼티가 있을 경우 반환함. 전역컨텍스트의 경우 LE는 전역객체를 그대로 참조. var a = 1; console.log(a); // 1 출력 console.log(w..

[JS] 프로그래머스 1단계 - 모의고사(완전탐색)

문제링크 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 코드 function solution(answers) { var answer = []; //수포자 3명의 찍는 패턴(반복 됨) let students = [ [1,2,3,4,5], [2,1,2,3,2,4,2,5], [3,3,1,1,2,2,4,4,5,5] ]; //수포자들의 점수 let score = [0,0,0]; //수포자별 점수 계산 for(let i=0; i

알고리즘 2021.06.09

[JavaScript] 스파르타 자바스크립트 기초 인강(1~7강)

0. 자바스크립트란? 프로그래밍이란? 데이터의 입력 ⇒ 처리 ⇒ 출력이 바로 프로그램이 하는 일, 이렇게 프로그램이 정해진 방식에 따라 일할 수 있도록 작성해놓는게 프로그래밍이다. 자바스크립트란? 프로그래머들이 이용하는 도구가 바로 프로그래밍 언어이고, 자바스크립트는 이러한 언어들 중에서 몇 손가락 안에 들만큼 많이 쓰이는 언어이고, 많은 프로그래머들로부터 사랑받고 있는 언어이다! 1. 변수 변수는 저장해놓은 값을 가리키는 일종의 '이름표'라고 생각할 수 있다. 이렇게 변수를 사용하면 해당 데이터가 의미하는 바를 변수 이름을 통해 정확히 표현할 수 있고, 계속해서 재사용도 할 수 있음 let 변수이름 = 값 변수 를 선언했고, 해당 변수에 을 할당했다! let name = 'Hyemi Gwak' // n..