본문 바로가기

자바스크립트-스터디[2021-10-05~완료]

[1주차] 5장 (50p~57p) - 데브워니

5장 표현식과 문

 

5.1 값

표현식(expression) --> 평가됨(evaluate) ---> 값==결과(value)

 

값은 메모리에 2진수(bit)로 저장된다.

 

var sum = 10 + 20;
//sum에는 10+20 이 평가되어 30이 할당된다.

왜 8바이트야?? 왜냐하면 score에 들어올값이 100일지 10000000일지 모르기 때문이지

값이 100인줄 알았다면 1바이트만 쓰면 되는데 그래서 8바이트가 필요하구나

1 바이트 = 8 비트 == -128~+127 == 256개

5.2 리터럴

리터럴? 리터럴을 입력해서 값 표현한다.

사람이 이해할 수 있는 문자, 기호로 값을 표기함

ex) 아리비아 숫자, 알파벳, 한글, 미리 약속된 기호('', "", [], {}, // 등)

 

입력 3 -> 런타임에 리터럴을 평가 -> 값 3

 

5.3 표현식

표현식(expression) --> 평가됨(evaluate) ---> 값==결과(value)
var score = 100;
// 100은 리터럴이다. 
// 리터럴 100은 평가되서 값 100이 된다.
// 100 리터럴은 표현식이다.

var score2 = 50 + 50;
// 50 + 50 : 리터럴 연산자 
// 50 + 50 --> 평가됨 --> 값 100
// 50 + 50 연산자 는 표현식이다.

score; //100
// 변수 식별자를 참조하면 100이 나온다.
// 변수 식별자는 값을 생성하지 않지만, 값 100으로 평가된다.
// score 변수 식별자 는 표현식이다


square();
// 함수, 메서드 호출 표현식

 

 

5.4 문

문: 기본 단위, 최초 실행 단위 이다.

ex) 실행문, 선언문, 정의문, 반복문, 할당문

 

토큰: 더 이상 나눌 수 없는 코드의 기본 요소

 

세미콜론(;): 문의 종료

var x; //변수 선언문
x = 5; //할당문
function foo() {} //함수 선언문
if(x>1) {console.log(x);} //조건문
for(var i=0; i <2; i++) {console.log(i);} //반복문

 

 

5.5 세미콜론 자동 삽입 기능

문이 끝나면 세미콜론(;) 을 붙여라

중괄호 묶은 코드블록 뒤에는 세미콜론(;) 붙이지 말아라.

세미콜론은 생략이 가능하다.

자바스크립트 엔진이 자동으로 붙여준다 : 세미콜론 자동 삽입 기능 ASI (아씨!!) Automatic Semicolon Insert

 

프론트엔드에서 사용하는 ESLint에서도 자동으로 세미콜론 사용을 기본으로 해놓음. 즉 세미콜론 쓰인다.

 

5.6 표현식 문 VS  표현식 아닌 문

변수에 할당 해봐라 

 

 

표현식 아닌 문: 값으로 평가 안됨. ex) var x;

크롬 개발자 도구에서 실행하면 undefined를 출력함

undefined 출력

var foo = var x;
표현식 아닌 문 ==  값처럼 사용 못함
var x; 변수 선언문 == 표현식이 아닌 문

 

표현식 문 : 값으로 평가됨. ex) x=100;

크롬 개발자 도구에서 실행하면 평가된 값을 반환함

값 반환

var foo = x = 100;
x=100; // 할당문 == 표현식 문 == 값 처럼 사용

 

'자바스크립트-스터디[2021-10-05~완료]' 카테고리의 다른 글

12 함수  (0) 2021.10.15
9장 타입 변환과 단축 평가  (0) 2021.10.12
[2주차]11 원시 값과 객체의 비교  (0) 2021.10.10
10 객체 리터럴  (0) 2021.10.10
08 제어문  (0) 2021.10.10