객체지향에서 제일중요한건 다형성
다형성을 안보고도 잘 설명할 수 있도록 하자!
항상 코딩을 선언형으로 해야한다!
어떤 언어를 쓸지 모르니까 다 알고있어야 한다 (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 |