자바스크립트

Project

'Graphql'을 선택한 이유

이번 프로젝트를 시작하기에 앞서 graphql에 접하게 되었다. 하는방법이나 연습은 Nomad Coders와 howtographql를 통해 쉽게 접할 수 있었다. 지금까지 REST API로 작업하면서 느꼈던 불편함들을 graphql을 통해 해소할 수 있었으며, 코드의 간결함, 보기쉽고 백과 프론트가 주고받기 쉬움 등 여러 장점이 있었다. 내가 느낀 장점과 해외사이트에서 소개한 장점들을 설명하면서 Graphql이 왜 주목을 받는지 정리를 해볼 예정이다. 일단 'Graphql'은 Fackbook에서 만든 오픈소스 쿼리언어입니다. 현재 전 세계에 있는 대기업 및 개인커뮤니티에서 관리를 하며 빠른 성장세를 유지하고 있습니다. 오랫동안 유지해오던 REST API의 대안으로 나온 Graphql이 이토록 무서운 성장..

JavaScript/JavaScript

[JavaScript] 클로저(closure) 정의

클로저(closure) 자바스크립트에서 클로저의 정의는 정확히 내려지지 않았습니다. 그래서 사람들마다 책마다 블로그마다 클로저의 정의를 말하는게 조금씩 다릅니다. 제가 공부하면서 생각한 정의는 이런 느낌입니다. '이미 생명주기가 끝난 함수의 변수를 참조할 수 있도록 해주는 현상' function outer () { let a = 0; function inner () { return ++a } return inner; } const func = outer(); console.log(func()); console.log(func()); console.log(func()); 위 코드를 실행하면 결과는 1 2 3 이 나오게 됩니다. 이걸 이해하려면 일단 '실행 컨텍스트'를 이해하셔야 합니다. func에서 out..

JavaScript/JavaScript

[JavaScript] 스코프(Scope)는 뭘까?

스코프는 우리 말로 번역을 하면 '범위'라는 뜻이다. 자바스크립트에서 스코프는 '접근할 수 있는 범위'라고 생각하면 된다. 아래 예제들을 보면서 이해하는게 가장 쉬울 거라 생각한다. const a = "Hello"; function b() { console.log(a); } b() 위처럼 b함수를 실행하게 되면 b함수에 a라는 변수가 없지만 전역에 있는 a라는 변수를 가져와 "Hello"를 출력 할 수 있게된다. 아래 코드는 어떨까? const a = "Hello"; function b() { console.log(a); const a = "bye"; } b() 여기서의 콘솔에는 어떤게 찍힐까? 바로 'undefined'가 출력되게 된다. 위 코드를 이해하지 못했다면 호이스팅 에 대한 포스팅을 읽고오는 ..

Hyo Kim
'자바스크립트' 태그의 글 목록