-
JavaScript 00. 자바스크립트란 무엇인가?JavaScript/1주차-JavaScript 문법 2023. 5. 23. 15:33
JavaScript
2005년 -> AJAX 등장 -> UX (User Experience), 사용자 경험 향상
2008년 -> V8엔진 구글 크롬 탑재
2009년 -> Node.js 등장
Node.js는 서버개발의 가히 지각변동이었다. PHP, Ruby, Python, Java -> JavaScript (Node.js)
하나의 언어 -> FrontEnd + BackEnd + DB (MongoDB) = FullStack
1. 자바스크립트는 객체지향 언어이다.
객체지향 : 순서상관없이, 데이터와 함수를 '객체'라는 그룹으로 묶어서 처리. 객체는 상태와 행동을 갖고 있으며, 상태는 객체의 속성(property)라고도 함.
절차지향 : 객체지향의 반대의미로써, 말 그대로 절차에 따라 일을 순서대로 처리하는 것. 첫번째 일 끝나고 두번째 일, 두번째 일 끝나고 세번째 일 처리하는 식.
✓ JS에서 객체를 만들 때는?
자바스크립트에서 객체를 만들 때는 **중괄호({})**를 사용하여 객체를 만들고, 각 속성을 **쉼표(,)**로 구분하여 추가한다. 속성은 이름과 값을 가지며, 이름은 문자열로 작성하고, 값은 다양한 데이터 타입을 사용할 수 있다. 객체 내부의 함수를 **메소드(method)**라고 부르며, 속성의 값으로 함수를 추가할 수 있다. 객체를 만들어서 필요한 속성과 메소드를 추가하여 사용한다.
2. 자바스크립트는 동적타이핑 언어이다.
자바스크립트는 변수 선언시, 타입을 지정하지 않고, '런타임 시점'에 변수에 할당되는 값에 따라 자동으로 데이터 타입이 결정됨. 즉, 터미널 실행시킬 때 데이터 타입 결정됨. 여기서 런타임이란, 터미널에 명령어를 입력하고 엔터할때를 말함.
예를들어서 자바(Java)에서는
string a = "abc"여기서 String = 타입, a = 변수임.
하지만 자바스크립트(JavaScript)에서는
var a = "abc"여기서 a는 변수이지만, var은 타입이 아님. var는 런타임(run time)시점에 결정되며, 즉 코드를 미리 짜놓는게 아니라, 코드가 다 짜여진 상태에서 프로그램이 돌아갈 때 타입이 결정됨. (런타임의 반대의 의미는 컴파일(compile)시점)
3. 자바스크립트는 함수형 프로그래밍을 지원한다.
JavaScript는 함수를 일급객체로 취급하고, 고차함수를 지원한다. 이를 통해, 코드의 재사용성과 가독성을 높일 수 있다.
3-1. 일급객체 (first-class object)
일급 객체(first-class object)란, 함수를 일반 값과 마찬가지로
1. 변수에 할당하거나,
2. 함수의 인자로 전달하거나,
3. 함수의 반환값으로 사용할 수 있는 객체를 의미
3-2. 고차함수 (higher-order function)
고차 함수(higher-order function)란,
1. 함수를 인자로 받거나,
2. 함수를 반환하는 함수
4. 자바스크립트는 비동기처리 방식이 가능하다.
비동기 처리는 작업을 순차적으로 기다리지 않고, 병렬로 처리할 수 있도록 하는 방식임.
5. 자바스크립트는 클라이언트(FrontEnd) 및 서버(BackEnd) 모두 사용 가능하다.
자바스크립트는 클라이언트 측에서만 사용되는 것이 아니라, Node.js를 이용하여 서버 측에서도 사용된다. 이를 통해 웹 개발 전반에 걸쳐 자바스크립트를 활용할 수 있다.
'JavaScript > 1주차-JavaScript 문법' 카테고리의 다른 글
JavaScript 05. 자바스크립트 - 형 변환 (0) 2023.05.26 JavaScript 04. 자바스크립트 - 데이터 타입 (기타) (0) 2023.05.25 JavaScript 03. 자바스크립트 - 데이터 타입 (문자) (0) 2023.05.25 JavaScript 02. 자바스크립트 - 데이터 타입 (숫자) (0) 2023.05.25 JavaScript 01. 자바스크립트 - 변수, 상수 (0) 2023.05.24