일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- javascript
- 타입스크립트
- 코딩테스트
- Oracle
- 오라클
- ReactNative
- 자바의정석
- 이안의평일코딩
- 정보처리기사
- 정보처리기사실기
- 정보처리기사실기정리
- VUE
- 정보처리기사실기요약
- php
- 리액트네이티브
- 정보처리기사요약
- react
- 자스코테
- typescript
- Java의정석
- 스프링
- CSS
- 리액트
- 평일코딩
- 자바스크립트
- 국비코딩
- 정보처리기사정리
- spring
- 자바스크립트 코딩테스트
- 국비IT
- Today
- Total
이안의 평일코딩
5장 표현식과 문 본문
p51.
- 리터럴(literal)은 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법(notation)을 말한다.
p52.
- 리터럴은 사람이 이해할 수 있는 문자(아라비아 숫자, 알파벳, 한글 등) 또는 미리 약속된 기호('', "", ., [], {}, // 등)로 표기한 코드다. 자바스크립트 엔진은 코드가 실행되는 시점인 런타임(runtime)에 리터럴을 평가해 값을 생성한다. 즉 리터럴은 값을 생성하기 위해 미리 약속한 표기법이라고 할 수 있다.
- 표현식(expression)은 값으로 평가될 수 있는 문(statement)이다. 즉, 표현식이 평가되면 새로운 값을 생성하거나 기존값을 참조한다.
p53.
- 표현식은 리터럴, 식별자(변수, 함수 등의 이름), 연산자, 함수 호출 등의 조합으로 이뤄질 수 있다. 값으로 평가될 수 있는 문은 모두 표현식이다.
p54.
- 문(statement)은 프로그램을 구성하는 기본 단위이자 최소 실행 단위다. 문의 집합으로 이뤄진 것이 바로 프로그램이며, 문을 작성하고 순서에 맞게 나열하는 것이 프로그래밍이다.
- 문은 여러 토큰(token)으로 구성된다. 토큰이란 문법적인 의미를 가지며, 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소를 의미한다. var sum = 1 + 2; 라는 문에서 var, sum, =, 1, +, 2, ;는 토큰이다.
p55.
- 문을 명령문이라고 부른다. 문이 실행되면 명령이 실행되고 무슨 일인가가 일어나게 된다.
- 문은 선언문, 할당문, 조건문, 반복문 등으로 구분할 수 있다.
- 세미콜론(;)은 문의 종료를 나타낸다. 문을 끝낼 때는 세미콜론을 붙여야 한다. 단, 0개 이상의 문을 중괄호로 묶은 코드 블록({ ... }) 뒤에는 세미콜론을 붙이지 않는다. (if문, for문, 함수 등) 이러한 코드 블록은 언제나 문의 종료를 의미하는 자체 종결성(self closing)을 갖기 때문이다.
- 세미콜론은 옵션이고 생략이 가능하다. 자바스크립트 엔진이 소스코드를 해석할 때 문의 끝이라고 예측되는 지점에 세미콜론을 자동으로 붙여주는 세미콜론 자동 삽입 기능(ASI: automatic semicolon insertion)이 암묵적으로 수행되기 때문이다.
p56.
* 정적 분석 도구(Static Analysis)
소스 코드의 실행 없이, 코드의 의미를 분석해 결함을 찾아내는 코드 분석 기법
* ESLint는 JavaScript, JSX의 정적 분석 도구로 오픈 소스 프로젝트입니다. 코드를 분석해 문법적인 오류나 안티 패턴을 찾아주고 일관된 코드 스타일로 작성하도록 도와줍니다.
p57.
- 문에는 표현식인 문과 표현식이 아닌 문이 있다. 표현식인 문은 값으로 평가되므로 변수에 할당할 수 있지만 표현식이 아닌 문은 값으로 평가할 수 없으므로 변수에 할당하면 에러가 발생한다.
- 변수 선언문은 표현식이 아닌 문이고 할당문은 그 자체가 표현식이지만 완전한 문이기도 하다. 즉, 할당문은 표현식인 문이다.
// 변수 선언문은 표현식이 아닌 문이다.
var x;
// 할당문은 표현식인 문이다.
x = 100;
p58.
- 크롬 개발자 도구에서 표현식이 아닌 문을 실행하면 언제나 undefined를 출력한다. 이를 완료 값이라 한다. 개발자 도구에서 표현식이 아닌 문을 실행하면 완료 값 undefined를 출력한다. 표현식인 문은 평가된 값을 반환한다.
// 변수 선언문
var foo = 10;
undefined
// 조건문
if (true) {}
undefined
var num = 10;
undefined
// 표현식은 평가된 값을 반환한다.
// 표현식 문
100 + num;
110
// 할당문
num = 100;
100
'Study > JS Diver' 카테고리의 다른 글
10장 객체리터럴 & 11장 원시 값과 객체의 비교 (0) | 2021.06.17 |
---|---|
7장 연산자 & 8장 제어문 & 9장 타입 변환과 단축 평가 (0) | 2021.06.09 |
6장 데이터 타입 (0) | 2021.06.09 |
4장 변수 (0) | 2021.06.07 |
[마감] 모던 자바스크립트 deep dive 다이버 스터디 (0) | 2021.06.03 |