-
[JS] 함수 호이스팅과 변수 호이스팅공부 정리/JavaScript 2019. 9. 26. 16:45
이번 내용은 전 글과 이어지는 내용입니다. 혹시나 전 포스팅을 안 보고 오신분은 (https://sdass.tistory.com/6)를 보시고 와주세요! 저번 포스팅에서는 3가지의 함수 정의 방식을 알아봤습니다. 정의 방식은 달라도 결국 Function 생성자 함수를 통해 함수를 생성하는 것까지 확인하였습니다. 그런데 이 3가지 함수 정의 방식은 동작 방식에 약간 차이가 있습니다. console.log(minus(10,8)); //2 function minus(first, second){ return first - second; } 위 코드를 보면 함수 선언문으로 함수가 정의되기 전에 함수 호출이 가능합니다. 함수 선언문의 경우 함수 선언의 위치와는 상관없이 코드 내 어느 곳에서든 호출이 가능한데 이것을..
-
[JS]함수의 정의 방법 3가지공부 정리/JavaScript 2019. 9. 25. 16:37
안녕하세요. 오늘은 함수의 정의 방법 3가지에 대해서 정리해보려고 합니다. 함수를 정의하는 방식은 3가지가 있습니다. 함수 선언문 함수 표현식 Function 생성자 함수 함수 선언문은 function 키워드와 함수명, 매개변수 목록, 함수 몸체로 구성이 됩니다. function minus(first, second){ return first - second; } 아마 함수 선언문은 우리가 가장 흔히 볼 수 있는 익숙한 방식일 겁니다. 그 다음으로 함수 표현식은 함수 리터럴 방식으로 함수를 정의하고 변수에 할당하는 방식입니다. var minus = function(first, second){ return first - second; } 이런식으로 함수를 변수에 넣는 방식입니다. 이 또한 자주 보셨을 수 있..
-
[JS] var, let, const의 차이점 및 호이스팅이란?공부 정리/JavaScript 2019. 9. 23. 15:09
예전에 Javascript에서는 변수를 선언할 수 있는 방법이 var밖에 없었습니다. 하지만 최근에는 ECMAScript6가 추가되면서 let과 const가 추가 됐습니다. 최근에는 Javascript를 공부하다보면 변수를 선언할 때 var, let, const를 혼용하여 사용하는 것을 볼 수 있습니다. 각각 무엇이 다른지 알아보도록 하겠습니다. 먼저 흔히 쓰이는 var와 let, const의 차이점을 알아보겠습니다. var와 let, const의 첫 번째 차이점은 scope가 다르다는 점입니다. var는 function-scope입니다. 하지만 let과 const는 block-scope입니다. function-scope란 변수가 유효한 범위 혹은 접근할 수 있는 범위가 함수 단위라는 뜻입니다. 한번 예..
-
[RxJava2] 리액티브 프로그래밍 및 RxJava란?공부 정리/RxJava2 2019. 9. 18. 13:10
리액티브 프로그래밍은 데이터 흐름과 전달에 관한 프로그래밍 패러다임입니다. 기존의 명령형(imperative) 프로그래밍은 주로 컴퓨터 하드웨어를 대상으로 프로그래머가 작성한 코드가 정해진 절차에 따라 순서대로 실행됩니다. 그러나 리액티브 프로그래밍은 데이터 흐름을 먼저 정의하고 데이터가 변경되었을 때 연관되는 함수나 수식이 업데이트되는 방식입니다. 리액티브 프로그래밍을 가장 쉽게 이해할 수 있는 예는 엑셀(스프레드시트)입니다. 각 셀에 값을 넣거나 혹은 다른 셀을 조합해서 내가 원하는 값을 계산합니다. 예를 들어 저번 달에 지출의 합을 구한다고 생각해봅시다. 하루 지출액은 리액티브 프로그래밍의 데이터 소스에 해당합니다. 한 달 지출액은 다음처럼 하루 지출액의 합으로 산출합니다. 저번 달 ..
-
[Node.js]모듈 사용하기 (exports, module.exports)공부 정리/Node.js 2019. 9. 16. 14:00
하나의 함수 안에 모든 기능을 넣어서 사용하는 것보다 기능별로 함수를 나누어서 필요할 때만 해당 함수를 가져다 사용하는 것이 다른 곳에서 재사용도 가능하고 코드를 따로 관리하기 때문에 프로그램 관리도 더욱 쉬워집니다. 그렇다면 노드에서는 어떤 식으로 이러한 과정을 처리하는지 알아봅시다. 먼저, 메인 페이지에서 다른 파일에 있는 함수를 끌어오기 위해서는 var 객체명 = require('파일명'); 이러한 형태로 객체를 만들어 사용합니다. 그런데 이때 모듈을 끌어오기 위해서는 함수를 exports를 이용해서 선언해줘야 합니다. 이때 exports를 사용하는 방법은 2가지가 있습니다. 첫 번째는 exports를 이용하여 정의하는 방법입니다. exports는 속성을 추가할 수 있어 여러 개의 변수나 함수를 각..