2018. 10. 4. 18:52 Back-End/Node
company node ver.1
스코프 : 변수의 범위
Var : 함수 스코프
let : 블록 스코프
Const : 블록 스코프
호이스팅 : 스코프 내에 변수 선언은 최상단에서 선언 - var만 적용
const는 값을 변화 못하지만 json은 주소값이 아닌 주소값에 속한 데이터 변환이기 때문에 가능
_ local __ global은 var의 유산
프로그램 메모리 -
stack
heap
초기화 되지 않은 세그멘트
초기화 된 세그멘트
text
SQS를 쓰는 이유 필요한 작업만 하고 리턴할 필요가 없는 일을 sqs(비동기)에게 맡기자
worker가 폴링을 하고 있다
시퀀스 다이어 그램
자바스크립트가 프로토타입 기반 언어
참고로 최근의 ECMA6 표준에서는 Class 문법이 추가되었습니다. 하지만 문법이 추가되었다는 것이지, 자바스크립트가 클래스 기반으로 바뀌었다는 것은 아닙니다.
function Person() {}
Person.prototype.eyes = 2;
Person.prototype.nose = 1;
var kim = new Person();
var park = new Person():
console.log(kim.eyes); // => 2
자바스크립트에는 Prototype Link 와 Prototype Object라는 것이 존재합니다. 그리고 이 둘을 통틀어 Prototype이라고 부릅니다. 프로토타입을 좀 안다는 것은 이 둘을 완벽히 이해하고 갖고 놀 수준이 되었다는 뜻입니다.
1.해당 함수에 Constructor(생성자) 자격 부여
Constructor 자격이 부여되면 new를 통해 객체를 만들어 낼 수 있게 됩니다. 이것이 함수만 new 키워드를 사용할 수 있는 이유입니다.
2.해당 함수의 Prototype Object 생성 및 연결
함수를 정의하면 함수만 생성되는 것이 아니라 Prototype Object도 같이 생성이 됩니다.
그리고 생성된 함수는 prototype이라는 속성을 통해 Prototype Object에 접근할 수 있습니다. Prototype Object는 일반적인 객체와 같으며 기본적인 속성으로 constructor와 __proto__를 가지고 있습니다.
__proto__는 객체가 생성될 때 조상이었던 함수의 Prototype Object를 가리킵니다. kim객체는 Person함수로부터 생성되었으니 Person 함수의 Prototype Object를 가리키고 있는 것이죠.
'Back-End > Node' 카테고리의 다른 글
노드의 장단점 (0) | 2018.10.08 |
---|---|
RX 스터디에서 js로 데이터 가공하기 !! (0) | 2018.10.07 |
적응 충첩, 초기 반납 (0) | 2018.10.04 |
swaager (0) | 2018.09.30 |
Node (0) | 2018.09.28 |