1. 변수
- 프로그래밍은 변수를 통해 값을 저장하고 참조하여 연산자로 값을 연산, 평가하고 조건문과 반복문에 의한 흐름제어로 데이터의 흐름을 제어하고 함수로 재사용이 가능한 구문의 집합을 만들며 객체, 배열 등으로 자료를 구조화하는
것이다. - 변수(Variable)는 값(value)을 저장(할당)하고 그 저장된 값을 참조하기 위해 사용한다.
한번 쓰고 버리는 값이 아닌 유지(캐싱)할 필요가 있는 값은 변수에 담아 사용한다. - 변수는 위치(주소)를 기억하는 저장소이다. 위치란 메모리 상의 주소(address)를 의미한다. 즉, 변수란 메모리 주소에
접근하기 위해 사람이 이해할 수 있는 언어로 지정한 식별자(identifier)이다.

2. 값

- 위 예제는 str이라는 이름의 변수를 선언하고 문자열 리터럴 "Hello World"를 값으로 할당하였다.
- 값은 프로그램에 의해 조작될 수 있는 대상을 말한다.
- 숫자, 문자열, 불리언과 같은 원시 타입의 리터럴은 다양한 연산자의 피연산자가 되어 하나의 값으로 평가될 수 있다.
| 용어 | 의미 |
| 데이터 타입(Data Type) | 프로그래밍 언어에서 사용할 수 있는 값의 종류 |
| 변수(Variable) | 값이 저장된 메모리 공간의 주소를 가리키는 식별자(identifier) |
| 리터럴(literal) | 소스코드 안에서 직접 만들어 낸 상수 값 자체를 말하며 값을 구성하는 최소 단위 |

3. 문
- 프로그램(스크립트)은 컴퓨터(웹 브라우저)에 의해 단게별로 수행될 명령들의 집합니다.
- 각각의 명령을 문(statement)이라 하며 문이 실행되면 무슨 일인가가 일어나게 된다.
- 문은 리터럴, 연산자(Operator), 표현식(Expresstion), 키워드(Keyword) 등으로 구성되며 세미콜론(;)으로 끝나야 한다.
- 문은 코드 블록(code block, {....})으로 그룹화할 수 있다. 그룹화의 목적은 함께 실행되어져야 하는 문을 정의하기
위함니다. - 문들은 일반적으로 위에서 아래로 순서대로 실행된다. 이러한 실행 순서는 조건문(if, switch)이나 반복문(while, for)의
사용으로 제어할 수 있다. 이를 흐름제어(Control Flow)라 한다. 또는 함수 호출로 변경될 수 있다.
4. 표현식
- 표현식은 하나의 값으로 평가된다. 값(리터럴), 변수, 객체의 프로퍼티, 배열의 요소, 함수 호출, 메소드 호출, 피연산자와 연산자의 조합은 모두 표현식이며 하나의 값으로 평가된다.
5. 문과 표현식의 비교
- 자연어에서 문이 마침표로 끝나는 하나의 완전한 문장이라고 한다면 표현식은 문을 구성하는 요소이다.
표현식은 그자체로 하나의 문이 될 수도 있다.

- 표현식과 문은 매우 유사하여 구별이 어려울 수 있다. 표현식은 평가되어 값을 만들지만 그 이상의 행위는 할 수 없다.
- 문은 var, function과 같은 선언 키워드를 사용하여 변수나 함수를 생성하기도 하고 if, for, while문과 같은 제어문을 생성하여 프로그램의 흐름을 제어하기도 한다.
- 표현식을 통해 평가한 값을 통해 실제로 컴퓨터에 명령을 하여 무언가를 하는 것은 문이다.
6. 함수
- 함수란 어떤 작업을 수행하기 위해 필요한 문들의 집합을 정의한 코드 블록이다.
- 함수는 이름과 매개변수를 갖으며 필요할 때에 호출하여 코드 블록에 담긴 문들을 일괄적으로 실행할 수 있다.
- 함수는 호출에 의해 실행되는데 한번만 호출할 수 있는 것이 아니라 여러번 호출할 수 있다.
- 도일한 작업을 반복적으로 수행해야 한다면 미리 정의된 함수를 재사용하는 것이 효율적이다.

7. 객체
- 자바스크립트는 객체 기반의 스크립트 언어이며 자바스크립트를 이루고 있는 거의 "모든 것"이 객체이다.
- 원시 타입을 제외한 나머지 값들(함수, 배열, 정규표현식 등)은 모두 객체이다.
- 객체는 키(이름)와 값으로 구성된 프로퍼티의 집합니다. 프로퍼티의 값으로 자바스크립트에서 사용할 수 있는 모든 값을 사용할 수 있다.
- 자바스크립트의 함수는 일급 객체이므로 값으로 취급할 수 있다.
따라서 프로퍼티 값으로 함수를 사용할 수도 있으며 프로퍼티 값이 함수일 경우, 메소드라 부른다. - 자바스크립트의 객체는 객체지향의 상족을 구현하기 위해 "프로토타입"이라고 불리는 객체의 프로퍼티와 메소드를 상속받을 수 있다.

8. 배열
- 배열(array)은 1개의 변수에 여러 개의 값을 순차적으로 저장할 때 사용된다.
- 자바스크립트의 배열은 객체이며 유용한 내장 메소드를 포함하고 있다.
'JavaScript' 카테고리의 다른 글
| [PoiemaWeb] 단축 평가 (0) | 2023.03.08 |
|---|---|
| [PoiemaWeb] break, continue (0) | 2023.03.08 |
| [PoiemaWeb] 연산자 (0) | 2023.03.08 |
| [PoiemaWeb] 변수 (0) | 2023.03.08 |
| [PoiemaWeb] 데이터 타입 (0) | 2023.03.07 |