개발_JavaScript (4) 썸네일형 리스트형 JavaScript에서의 this 란? this는 '함수가 호출되었을 때 그 함수가 속해 있던 객체의 참조' 라고 볼 수 있다. var list = { name: 'Lee', sayHello: ()=>{ console.log("Hello! " + this.name); } } 이때 list.sayHello() 를 실행하면 Hello! Lee 가 콘솔에 출력됨 이유를 뜯어보면, this.name에서 함수 sayHello()가 호출되었을 때 sayHello가 속해있던 객체는 list객체다. 따라서 정의에 따라 this는 이 list객체를 참조하기 때문에, this.name 은 list.name의 값인 Lee를 참조한다. this 가 함수가 호출 되었을 때 그 함수가 속해있는 객체를 가리킴을 더 명확히 확인하기 위해, 아래 예를 추가로 들 수 있다... JavsScript에서의 객체 참조 아래와 같이 Const 로 x 객체 선언 후, 이 객체 x 를 let y 에 할당할 수 있음 let y 라는 변수는 이 때 x 의 주소를 가리키는 참조 변수가 됨 따라서 x 객체의 property a 값을 변경한다면, y 역시 x 객체를 참조하는 변수므로, y.a 역시 3이 된다. JavaScript 에서의 호출 Stack(Call Stack) 먼저 Call Stack이란 무엇인가? Script상에서 (프로그래밍 언어가 쓰여있는) 함수(Function)이 차례대로 호출될 때 이 함수들을 받아서 작동하는 메커니즘임. 마치 Stack처럼 LIFO구조로 함수들이 Stack 자료구조상에 쌓여서 제일 마지막에 Call 된 Function이 실행되도록 작동한다. function first(){ second(); console.log("First"); } function second(){ third(); console.log("Second"); } function third(){ console.log("Third"); } first(); 즉, 위와 같은 코드를 Console 에 입력하면 아래와 같이 Third -> Second -> First 순으로 출력된.. Why Node.js? [Back-End 로 node.js 를 사용하는 이유] 위와 같이 두 가지 표시 부분이 php 와 Node.js가 차이나는 곳이다. Node.js는 Async 방식으로 비동기방식으로 Request 와 Return 이 시행된다. 즉, 웹서버에 Task Request가 순서대로 A , B, C 가 온다면, node.js 는 A 요청에 대해 Return 을 수행하지 않더라도 우선 B요청을 동시에 받고, A 요청은 A 요청대로 처리를 해준다. (이를 non-blocking io라 한다. 먼저 요청한 request가 아직 처리되지 않았더라도, 후속 request를 실시간으로 받고, 이에 대한 콜백함수가 이벤트 뤂을 돌아서 Call Stack에 쌓이기 전에 있는 Queue를 거쳐 FIFO로 Queue에서 빠져나가 .. 이전 1 다음