[JS] 코드를 실행하고 독해하고 출력하는 과정
JavaScript 코드 실행
JavaScript는 브라우저에서 실행하기 위해 만들어진 프로그래밍 언어.
(그러나 브라우저에서만 실행이 가능한 게 아니라 브라우저, Node.js REPL 등 다양한 환경에서 실행할 수 있음)
-> HTML + JavaScript 함께 실행해야 작동함.
-> 혹은 Node.js 라는 JavaScript 런타임을 컴퓨터에 설치해야 함.
알아두기
- REPL(Read-Evaluate-Print loop): 읽고, 평가하고 출력을 반복하는 가장 간단한 개발 환경으로, 내가 작성한 코드가 문법에 맞는지 틀린지 간단하게 실행해볼 수 있다.
예시) 코드샌드박스, 리플릿 등의 온라인 컴파일러, 터미널/쉘, 브라우저 개발 도구(크롬개발자도구 등) - 프로그램(Program): 작업(task)수행을 위한 코드 모음
- 프로세스(Process): 프로그램 실행의 결과물
console.log()
‘hello world’라고 입력하고 엔터를 치는 순간 -> JavaScript엔진은 이 코드를 읽고,평가하고, 출력한다.
REPL이 아니고 코드를 직접 실행하는 경우, console.log()메서드로 출력할 수 있다.
//괄호 안에 'hello world'를 입력하고 엔터를 눌러 출력하면
console.log('hello world'); //hello world
알아두기
- console.log(): 개발자 도구 콘솔이나 터미널에 원하는 값을 출력할 수 있게 돕는 메서드
JavaScript 코드 독해
일반적인 컴퓨터는 0과 1의 조합으로 모든 정보를 표현하고 이해한다 -> 기계어
자바스크립트는 영어, 기호, 숫자 도 있다.
이렇게 사람이 다룰 수 있게 일정한 문법, 의미를 지닌 언어를 프로그래밍 언어라고 한다.
(JavaScript도 프로그래밍 언어 중 하나이며 JavaScript 엔진으로 실행할 수 있다)
let ourMission = 'Unlock Human Potential';
let JavaScriptWasInventedBy = 'Brendan Eich';
let JavaScriptWasInventedIn = 1995;
i++;
i--;
JavaScript 엔진은 코드를 위에서부터 아래로 읽고, 해석하고, 평가하다가 문제가 있으면 에러를 발생시키고, 해당 지점에서 코드 실행을 바로 중단한다.
알아두기
- 기계어: 컴퓨터가 이해할 수 있는 숫자로만 구성된 언어. 사람이 쉽게 이해하기 어려움.
- 프로그래밍 언어: 개발자가 프로그램을 작성하기 위한 언어. 기계어와 사람이 다룰 수 있는 수준의 문법과 의미를 지님.
- 자바스크립트(JavaScript): JavsScript는 브라우저, 서버, 모바일 개발이 가능한 멀티 패러다임 언어.
- JavaScript 엔진: JavaScript코드를 실행할 수 있는 프로그램. 크롬에 내장된 v8이 대표적.
주석
! 개발하면서 메모할 일이 많아짐.
아무리 직관적이고 간결하게 코드를 작성해도 내가 작성한 코드를 다른 개발자에게 쉽게 설명하기 어려웠기 때문.
(내가 왜 그렇게 코드를 작성했었는지도 까마득해짐.)
그래서 주석을 추가하기 시작함.
주석 작성법
주석은 // 다음에 작성하거나, /*, */사이에 작성함.
//한 줄 주석은 이렇게 사용.
/*
여러 줄에 걸쳐 주석을
사용하려면
이렇게
사용
*/
알아두기
주석: JavaScript엔진이 따로 해석하지 않는 코드. 개발자가 쓰고 싶은 사람의 언어, 자연어를 자유롭게 작성가능 자연어: 인간이 쓰는 언어. 컴퓨터공학에서 프로그래밍 언어와 구분하기 위해 사람의 언어를 자연어로 따로 구분함.
값과 표현식
읽고, 평가가 완료되어 하나의 의미를 가지는 코드를 값(value)라고 함.
값을 표현하기 위해서는 다양한 방식이 있는데 예를들면 숫자 27을
27;
20+7;
15+5+7;
이렇게 작성할 수 있다.
이렇게 하나의 값으로 평가될 수 있는 코드를 표현식(expression)이라고 함.
- 위 예시처럼
+와 같이 값에 변화를 줄 수 있는 산술연산이나 논리연산 기호를 연산자라고 함.
알아두기
- 값(value): 하나의 고유한 의미를 가지고 있는 코드. JavaScript 엔진이 하나의 값으로 읽고 평가할 수 있어야 함
- 표현식(expression): 값으로 평가될 수 있는 코드
- 연산자(operator): 특정 연산을 수행할 수 있는 코드