자바스크립트는 기능적 언어인가

| | | | | | | | | | | | | |

함수형 프로그래밍은 순수 수학 함수, 불변 데이터, 논리 흐름 및 데이터 입력에 중점을 둡니다. 함수형 프로그래밍 언어는 데이터 변경 및 상태 변경에 중점을 둔 객체 지향 언어의 반대입니다.

함수형 프로그래밍 언어는 어디에나 있고 인터넷에서 대부분 사용됩니다. 그들을. 사실, 저는 지금 이 기사를 작성하기 위해 함수형 프로그래밍 언어를 사용하고 있습니다.

함수형 프로그래밍 언어가 무엇인지 배우고 장단점을 아는 것은 컴퓨팅이나 프로그래밍에 관련된 모든 사람에게 도움이 됩니다.

잠시 시간을 내어 이 프로그래밍 패러다임(및 일반적인 패러다임)을 정의한 다음 함수형 프로그래밍의 장단점을 살펴보겠습니다.

프로그래밍 패러다임이란 무엇입니까?

컴퓨터는 기본적으로 기계이기 때문에 컴퓨터와 통신할 수 있는 좋은 방법이 필요합니다. 그러나 1과 0이 추상화될수록 언어는 더욱 전문화됩니다. 이것이 모두 약간 다르게 작동하고 다른 작업에 적합하기 때문에 우리에게 많은 고급 언어가 있는 이유입니다.

프로그래밍 언어를 분류하는 수단인 프로그래밍 패러다임을 입력하세요. 데이터 관리를 위한 중심 이론 또는 방법론. 언어는 일련의 정의 원칙을 가짐으로써 패러다임에 적합합니다. 많은 프로그래밍 패러다임이 있으며 그 중 많은 것이 다른 패러다임과 겹치거나 포함합니다. 두 가지 주요 패러다임은 함수형과 객체 지향형이지만 이 두 가지 패러다임에서 고려되지 않은 데이터를 처리하는 다른 많은 방법이 있습니다.

함수형 프로그래밍이란 무엇입니까?

함수형 프로그래밍은 하나입니다. 가장 잘 알려진 두 가지 프로그래밍 패러다임 중 다른 하나는 지향 프로그래밍입니다. 간단히 말해서, 함수형 프로그래밍은 순수한 수학 함수와 불변 데이터, 즉 생성된 후에는 변경할 수 없는 데이터에 중점을 둡니다. 상태가 없습니다. 즉, 기능적 프로그램에서 변경되는 유일한 것은 항목입니다.

객체와 함께 변경되는 상태가 없었기 때문에 기능적 프로그래밍에서는 개념적으로 코드 순서를 변경할 수 있고 여전히 동일한 출력이 있습니다. 이는 8개의 숫자를 함께 곱하는 것과 같습니다. 곱하는 순서에 관계없이 항상 동일한 결과를 얻습니다.

이런 의미에서 함수형 프로그래밍 ng는 흐름에 관한 것입니다. 항목은 위에서 오고 결과는 아래로 떨어집니다. 이것은 고유하고 변화하는 객체를 사용하여 상태 머신을 변경하는 객체 지향 프로그래밍과 대조됩니다.

함수형 프로그래밍은 명령형 프로그래밍 패러다임의 우산에 속하며, 지향 프로그래밍이 있는 선언적 프로그래밍의 반대입니다. 상주합니다.

함수형 프로그래밍은 튜링 기계 이후로 객체 지향 프로그래밍보다 더 오래 사용되었습니다. 두 세대에 걸쳐 개발되었지만 최근에는 패러다임에 독립적이지만 객체 지향보다 더 기능적인 언어로 간주되는 JavaScript 로 다시 돌아왔습니다.

정의의 원리 함수형 프로그래밍

함수형 프로그래밍은 이 방법론을 따르는 모든 언어가 기반으로 하는 정의의 원리를 기반으로 합니다.

장점과 단점은 무엇입니까? 함수형 프로그래밍

모든 프로그래밍 패러다임과 마찬가지로 함수형 프로그래밍에는 장점과 단점이 있습니다. 함수형 프로그래밍의 최상의 사용 사례를 이해하기 위해 이를 살펴보겠습니다.

Pro

마이너스

함수형 프로그래밍 언어 ‚Äã‚Äã

함수형 프로그래밍은 객체 지향 프로그래밍보다 훨씬 오래되었으며 최근 몇 년 동안 이 목록에 있는 언어로 다시 돌아왔습니다.

함수형 프로그래밍이 객체 지향 언어보다 더 특별한 위치를 차지하지만 인기가 높아짐에 따라 더 많은 기능적 프로그래머가 필요합니다. 거의 없는 지역. 함수형 프로그래밍을 배우면 그 자체로 독특하고 재미있는 보람 있는 취업 시장에 들어갈 수 있습니다.

< 입력 유형 = "숨겨진" 이름 = "ck_medium" 값 = "블로그"> <입력 유형 = "숨겨진" 이름 = "ck_campaign" 값 = "ft-express-wgt-blog"> <입력 유형 = "숨겨진" 이름 = " 흐름" 값 = "sft"> <버튼 유형 = "제출" id = "제출4" 클래스 = "btn btn-success btn-block 버튼-ajax-form" 스타일 = "배경 색상: # ff9d38 ! 중요한; 테두리 색상: # ff9d38 ; 불투명도: 1; 화이트 색상; 너비: 100%; 글꼴 두께: 굵게; 글꼴 크기: 13px; "> 경기 받기
<스크립트 유형 = "텍스트 / 자바스크립트"> 제이쿼리(`# contactForm2`). submit (function(event) {var phone = jQuery (`# msg_phone`).val(); phone = phone.replace (// $ /, ``) .replace (`+ (`, ``) .replace ( `) +`, ``) .replace (``, ``) .replace (`+ -`, ` `) .replace (` - `,` `) .replace (` (`,` `) .replace (`) `,` `) .replace(`.`,` `), 전화 = 전화.대체(` `,` `), 전화 = 전화 .교체(` `,` `), var otherphone = 전화. 부분 문자열(2); if (otherphone .split (` `) .e very (char => char === otherphone [0])) {jQuery (`# error_phone`).Show (); 반환 false ; } else { var phoneField = jQuery(`# msg_phone`); phoneField.removeAttr("최대 길이"); phoneField.removeAttr(" schema "); phoneField.val(전화); 반환 true; }})

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method