[Functional Programming] - 함수형 자바스크립트 프로그래밍

Inevitable.Jason·2021년 3월 10일
0

Intro.

"함수형 자바스크립트 프로그래밍" 이란 책을 읽어보면서 느낀점을 채워보고 싶은 생각에 몇개의 시리즈로, 내 방법대로 읽고 기록해 보아야겠다는 생각이 들었다.

함수형프로그래밍, 자바스크립트를 배우면서, 부트캠프를 진행하면서 간간히 들려오던 자바스크립트 패러다임이라고 알고있었는데 처음엔 "아 Class 를 사용해서 component 를 만드는것이 아닌 Function 으로 만들어진 component를 사용하면 좋구나" 라고 생각했고 무엇이 함수형 프로그래밍을 실용적으로 만들어주는지 알지 못한채 프로젝트를 진행해왔다.

함수형 프로그래밍? 객체지향 프로그래밍?

이 책의 지은이가 설명하길, 객체지향 프로그래밍에서, 객체가 기준이라면 함수형 프로그래밍에서는 함수가 기준이다. 객체가 기준이라는 말은 "데이터 형"이 기준이 된다는 의미이고, 함수가 기준이라는 말은 "로직"이 기준이 된다는 의미 라고한다.

그렇다면 함수형 프로그래밍은 로직이 중요하구나. 라고 알수있었다.

근데 로직이 중요한 이유는 왜...?

"함수형 프로그래밍은 각기 다르게 생긴 데이터 형 을 더 많이 지원하기 위해 함수 내부를 함수로 추상화한다." 그러므로 함수형 프로그래밍에서는 데이터가 user 인지 post인지 posts 인지 comments인지 는 별로 중요하지않고, 모두 처리할수 있는 아주 높은 "다형성" (polymorphism) 을 가진 하나의 함수를 만드는 방식이다.

벌써 흥미진진하다.

이러한 설명에 덧붙여, 장점을 세가지로 나누는데,

  • 코드의 길이가 짧다 => 데이터형 에서 자유롭고 조합이 자유로워 재사용성과 조합성이 매우 높고 추상화의 정도가 높아, 데이터형이 코드에 잘 등장하지않고 변수명이나 데이터구조가 표현되는 일이 적고 대입문도 적어진다. => 코드의 길이가 짧아진다.

  • 읽기쉽다 => 분기가 적고 for i j while 같은 구조가 잘 등장하지 않아 코드의 모양이 단순하다. 분기 없이 앞으로만 가는 코드는 오류가 발생할 확률도 적고 고치기도 쉽다 => 유지보수에 용이.

  • 생명주기가 단순하다 => 선언과 실행이라는 단순한 생명주기를 갖고있어 언제든지 어디서든지 사용하기 쉽다. 함수는 언제 선언되었는가, 어느 스코프에서 선언되었는가, 언제 실행되었는가, 언제 실행될 것 인가 만 중요하다.

이러한 장점을 갖고있다고 한다.

앞으로 이책을 읽으면서 함수형 자바스크립트의 개념, 실효성화 실용성을 알아가고 조금 더 프론트엔드 개발자로서의 꿈을 키워나갈 것 이다.

profile
Who wanna be a programming nerd.

0개의 댓글