0706-Prototype

intro

…이제는 늦게 온 것은 말을 말자_=
일찍 오면 칭찬하:3
프로토타입을 공부했다. 너무 늦게 시작했다. 이틀은 잡았으면 좋았을 듯
부스트코스 오프라인 스터디를 같이 하기로 했다. …제발 일요일 저녁 or 토요일 아침으로 시간 잡혔으면 일요일 허무하게 보낼 때가 많다 !

프로토타입

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
결국 재사용성 및 객체 프로퍼티들을 적절히 사용하기 위해서 만들어진 거라 생각 됨 
나한테 없으면 proto로 접근해서 생성자 함수에 있는지 읽어나가고 이 과정을 null이 나올 떄 까지 반복해도 없으면 없는 걸로 인지
생성자 함수에서는 .prototype에다가 인스턴스.__proto__랑 맵핑을 한다. 인스턴스 __proto__는 생성자 함수 .prototype을 가르키고 있다.

Object ->함수 -> Array ->
-> String
-> Number

new 키워드로 인스턴스가 만들어지면서 프로토타입이 프로퍼티가 어떻게 지정되는지 설명하기

만도랑 질문 생각해 온 것들이 다 똑같았다.

function NEW(constructor, argsArray) {
var obj = {}; // step 1
obj.__proto__ = constructor.prototype; // step 2
constructor.apply(obj, argsArray); // step 3
return obj; // step 4
}

나온 질문들

러버덕스터디

자주 바로 바로 답할 수 있도록 잘 알아두자

좋았던 점 아쉬운 점

좋은 점

  • 러버덕 스터디
    실행컨텍스트, 프로토타입 이거 2가지는 진짜 나머지 개념들에 다 근간이 되는 개념이라 …
    이걸로 클로저 this, 프로토타입은 객체들은 다 prototype기반으로 참조를 해서 !!!
    아직 2개념을 잘 안 다고는 장담 못하지만 한 번 공부한 것만으로 해도 자바스크립트를 좀 더 깊게 알게 된 것 같아 너무 좋았다.

아쉬운 점

  1. 오늘도 그냥 늦게 온 점… 늦게 잔 것도 한 몫 했다. 집에갈 떄 토요일 말고는 노트북 가지고 가지 말고 +_+
    핸드폰 보지 않기 이것만 지켜도 80-90프로는 일찍 나오는 것 성공할 수 있을 것 같다.

  2. 러버덕 스터디 내가 그리 준비가 안 되어 있어서 좋은 질문을 많이 못 한 점 + 질문 답 도 버벅였다. Array.prototype.filter.call(a, v=>v.className===red) 나도 call을 잊어버리고
    오히려 만도가 짚어주었다. 그냥 property에 접근해서 서로 묶어 주는 개념을 활용한 만도 대답도 괜찮았다. 이 경우에는 다음번에도 재사용성으로 쓸 수도 있어서 이런 답도 창의적이고 좋다.

  3. 집중력 빨리 Step설계해서 pr날려야 되는데 뭐하고 있는 건지 ….

Daily Algorithm

Udemy 마지막 문제

flag를 둬서 더 최소 인 지점을 찾아서 바꾸고 아니면 그대로
파는 지점은 계속 그 다음 지점을 다음지점을 탐색하며 maxProfit과 비교해서 최대 값을 저장한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function maxStockProfit (pricesArr) {
var maxProfit = -1;
var buyPrice = 0;
var sellPrice = 0;

var changeBuyPrice = true;

for (var i = 0; i < pricesArr.length; i++) {
if (changeBuyPrice) buyPrice = pricesArr[i];
sellPrice = pricesArr[i + 1];

if (sellPrice < buyPrice) {
changeBuyPrice = true;
}
else {
var tempProfit = sellPrice - buyPrice;
if (tempProfit > maxProfit) maxProfit = tempProfit;
changeBuyPrice = false;
}
}

return maxProfit;
}

maxStockProfit([10, 18, 4, 5, 9, 6, 16, 12]);

배민찬 html & css 구조 잡기 !!!