SeSac (2021-08 ~ 2021-12)/JS

10/7 deep dive

배워도끝이없네 2021. 10. 7. 20:57

객체지향에서 제일중요한건 다형성

 

다형성을 안보고도 잘 설명할 수 있도록 하자!

 

항상 코딩을 선언형으로 해야한다!

 

어떤 언어를 쓸지 모르니까 다 알고있어야 한다 (JS만 할게 아니기 때문에..)

 

컴퓨터 공학은 소프트웨어의 상위레벨이다 (소프트웨어 + 하드웨어)

 

우리는 코딩을 하기때문에 소프트웨어를 잘 알아야한다.

 

method는 overriding과 overloading 할 수 있다.

 

오버라이딩과 오버로딩의 차이는 무엇일까? 1분안에 설명할수 있도록 공부해보자.

 

외부의 데이터를 손상입히지 않기 위해 ... (디스트럭쳐링)을 한다.

 

디스트럭쳐링은 정말 중요하다! 꼭 이해하고 넘어가도록 하자!

 

소프트웨어공학에서 화살표는 참조를 한다는 의미이다.

 

화살표는 내가 -> 얘를 쓸거야 라는 의미이다.

 

실무에서 일반함수는 펑션, 객체안의 함수는 메서드라고 부른다.

 

함수를 new로붙이면 생성자 함수가 된다.

 

생성자 함수를 constructor이라고 한다.

 

생성자함수와 일반함수의 차이가 왜 중요하냐면

 

this는 인스턴스를 가리키는데 일반함수는 this가 윈도우를 가리키고 생성자함수는 그 객체를 가리킨다.

 

제일상위에는 Object가 있고 거기에 __proto 를 넣어준다 (globalThis가)

 

상속받는다는것은 부모가 가지고있는 __proto를 가져온다는것이다.

 

__proto는 부모들의 property나 method들을 가져오는것이다.

 

__는 접근자이다. (accessor)

 

함수는 그냥 오브젝트와 같은 메모리공간에 위치하는것이 아니고

 

여러번 재사용 할 수 있기 때문에 별도의 공간에 다시 저장할수 있다.

 

게터세터를 설정하면 장점은

 

게터세터앞에 로깅을 하게하거나 셋할때 추가적인 연산이 들어가거나 할 수 있다.

 

게터는 사실 큰 의미는 없지만 세터는 할것이 많다.

 

오브젝트에 프로퍼티가 머있는지 확인할때 in 연산자를 쓴다.

 

함수내부에서만 strict mode를 쓰면안된다(오해의 소지가 있기 떄문에)

 

// built-in 객체

 

built-in에는 표준 built-in객체와 호스트 built-in객체, 커스텀 built-in 객체가 있다.

 

표준에는 window, self, infinity, isNaN, parseInt 등이 있다.

 

이것들은 ECMAScript 표준으로 정해져 있는 메서드들이다.

 

host 빌트인은 (browser, node) DOM(Document. 에 관련된 아이들), BOM(location, history, bookmark) 에 관련된 아이들 등이  있다.

 

String객체, Number객체, 등은 표준 빌트인 객체이다)

 

eval은 strict mode에서는 독립적인 스코프를 만들고

일반적일떄는 eval이 선언한곳을 스코프로 인식한다.

 

GET은 편지봉투 겉지에 설명을쓰는것(옛날에는 1024~4096사이즈였다..)

POST는 편지봉투내부에 편지를 쓰는것이다.

DELETE는 무언가를 지울때 이용한다.

PUT, PATCH는 수정에 이용

OPTIONS는 브라우저가 지원하는 HTTP 요청의 종류를 묻는다.

 

 

'SeSac (2021-08 ~ 2021-12) > JS' 카테고리의 다른 글

deep dive closure / class  (0) 2021.10.19
deep dive 22.this  (0) 2021.10.12
Observer Pattern  (0) 2021.09.07
숫자야구 리뷰  (0) 2021.09.02
13~17 deep dive  (0) 2021.08.31