기능 언어의 원칙에 따라 가능한 한 많이 JavaScript 코드를 작성하십시오.
다음 시리즈의 기사는 당신과 내가이 여정을 시작하게하는 것입니다. 먼저, 우리는 당신의 마음에있을 수있는 기능적 언어 오류의 일부 개념을 수정해야합니다.
JS 언어의 기능적 공식은 심각하게 오해됩니다.
분명히, 매일 JavaScript의 기능적 패러다임을 사용하려는 많은 개발자가 있습니다. 나는 이러한 것들을 실제로 이해하지 못하는 JavaScript 개발자의 더 많은 부분이 있다고 말할 것입니다.
그 이유는 웹 서버에서 사용되는 대부분의 개발 언어가 C에서 파생되기 때문입니다. 모든 사람들은 이러한 언어가 기능적 언어가 아니라는 것을 알고 있습니다.
일반적으로 두 가지 수준의 혼란이 있습니다. 첫 번째 층은 다음 예제의 사용에 관한 것입니다.이 예는 jQuery에서 매우 일반적인 사용법입니다.
$ ( ". 가입"). 클릭 (function (event) {$ ( "#signupModal"). show (); event.preventDefault ();});위의 코드에서 : 우리는 익명 함수를 매개 변수로 전달하는데, 이는 JavaScript의 악명 높은 콜백 함수입니다. 이러한 기능을 호출할까요? 별말씀을요!
위의 예는 기능 언어의 주요 기능을 보여줍니다. 함수는 매개 변수입니다. 반면 에이 예는 세 줄의 코드 만 사용하여 위반할 수있는 거의 모든 기능 프로그래밍 패러다임을 위반합니다.
의심의 두 번째 수준은 더 미묘합니다. 이것을 확인하십시오 : 몇몇 세련된 JS 개발자만이 다음과 같이 본다.
글쎄, 정말 좋습니다! 그러나 이미 기능 프로그래밍에 대한 완전히 이해하고 있으며 모든 프로젝트에서 endercore.js를 사용합니다.
alterscore.js는 매우 유명하고 유비쿼터스 자바 스크립트 라이브러리입니다. 예를 들어 : 단어 세트가 있고 각 단어에 대해 처음 두 글자가 필요하다고 가정합니다. alterscore.js로 글을 쓰는 것이 매우 간단합니다.
var firstwoletters = function (words) {return _.map (Words, function (word) {return _.first (Word, 2);});};이 JavaScript 예를보십시오. 함수 공식에서 절묘하고 실용적인 기능을 사용했습니다 : _.map 및 _.first. 이것에 대해 어떻게 생각하십니까?
Underscore.js 및 _.map과 같은 기능은 모두 유용한 기능 패러다임이지만,이 예에서 이와 같은 것들을 합치면 여전히 이해하기가 조금 어렵습니다. 우리는 이것을 정말로해야합니까?
보다 "기능적"이되는 방법에 대해 생각하기 시작하면 위의 예를 다시 작성할 수 있습니다.
// ... 약간의 MagicVar FirstTwoletters =지도 (첫 번째 (2));
신중하게 생각하면이 코드 라인은 위 5 줄과 동일한 효과를 갖습니다. 많은 단어는 단지 매개 변수 또는 자리 표시 자입니다. 실제 논리는 의미있는 방식으로지도 함수, 첫 번째 함수 및 상수 2를 결합하는 것입니다.
어떤 사람들은 궁금 할 수도 있습니다.이 예에서 마법은 무엇입니까? 결국, 그것은 어떤 예가 마법이라고 말하는 것은 자랑 스럽습니다.
위의 예가 무엇인지 설명하기 위해 다음 두 기사를 사용하여 위의 예가 무엇인지 설명 할 계획입니다. 궁금한 점이 있다면 계속 읽을 수 있습니다.
이 일련의 블로그는 기능 프로그래밍의 아름다움을 JavaScript 코드에 적용하는 방법을 돕기위한 것입니다.
다음 섹션에서는 JavaScript 언어로 기능적 및 비 기능의 다양한 요소에 대해 논의 할 것입니다. 이러한 지식을 통해 이러한 요소를 함께 통합하여 뇌에서 완벽한 기능 프로그래밍 시스템을 천천히 형성하고 JavaScript의 성능을 이해할 수 있습니다.