자바스크립트는
명령형
,함수형
,프로토타입 기반의 객체지향 프로그래밍
을 지원하는멀티 패러다임 프로그래밍 언어
입니다.
책과 블로그에서 많이 볼 수 있는 정의이다. 그런데 이 짧은 문장에 정확히 이해하고 있지 않은 수 많은 개념이 있다. 그래서 이 한 문장을 잘 뜯고 맛보고 즐겨보는 글을 정리해 보려 한다.
자바스크립트는 명령형, 함수형, 프로토타입 기반의 객체지향 프로그래밍을 지원하는
멀티 패러다임 프로그래밍 언어
입니다.
💡 프로그래밍 언어는 설계 될때 각자 지향하는 패러다임을 설정한다.
💡 다중 패러다임 프로그래밍 언어란 하나 이상의 프로그래밍 패러다임을 지원하는 프로그래밍 언어이다.
💡 개발자가 프로그래밍을 위해 어떠한 '관점'을 가지고 개발을 할지에 대해서 결정을 하는데 도움을 주는 것을 의미합니다.
자바스크립트는
명령형
,함수형
, 프로토타입 기반의 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어입니다.
👉 아파트 1 단지 정문 앞 사거리에서 우회전해서 있는 CU에 가서 하이볼 1캔 집어서 계산대로 가. 그리고 5000원 지폐 내고 800원 잔돈 받아와.
function double (arr) {
let results = [];
for (let i = 0; i < arr.length; i++){
results.push(arr[i] * 2);
}
return results;
}
👉 하이볼 사와
function double(arr) {
return arr.map((item) => item * 2);
}
❓근데 JS의 내장함수인 map
을 쓰면 선언형이 되는가? -> 내장형 함수로 바꿔쓰며 무엇이 바뀌었는가?를 생각해보면 정답은 추상화
이다. 이미 하이볼을 사본 경험이 있다 라던가 지도어플이 있다라는 가정하에 결과
에 집중한 언어
자바스크립트는 명령형, 함수형,
프로토타입 기반의 객체지향 프로그래밍
을 지원하는 멀티 패러다임 프로그래밍 언어입니다.
prototype은 특정 객체에 대한 참조입니다. 즉 어떠한 공간을 가르키고 있습니다.
__proto__
로 표현됩니다. __proto__
프로퍼티는 자신을 만든 생성자 함수의 prototype
을 참조하는 역할을 합니다.prototype
과 인스턴스의 __proto__
가 연결됩니다.💡 프로그래밍 방법론중에 하나로, 프로그램을 작성할 때 객체들을 만들어 객체와 객체가 서로 메소드를 통해 상호작용하게 만드는 것
💡 객체 지향 프로그래밍을 사용하는 대표적인 언어로는 C++, JAVA, C#이 있습니다.