Read/Morden Javascript Deep Dive

[Modern Javascript Deep Dive] 5장 표현식과 문

helloyukyung 2023. 2. 2. 00:28

값 : 식이 평가되어 생성된 결과

변수 : 하나의 을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름

 

var sum =10 + 20;

변수에 할당되는 것은 값이다.

sum변수에는 숫자 값 30이 할당된다.

리터럴

리터럴 : 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법

리터럴은 사람이 이해할 수 있는 문자(아라비아 숫자, 알파벳, 한글)또는 약속된 기호("",., {}, // 등)로 표기한 코드이다.
리터럴을 사용해 다양한 종류의 을 생성할 수 있다.

표현식

표현식은 값으로 평가될 수 있는 문이다.
표현식이 평가되면 새로운 값을 생성하거나 기존 값을 참조한다.

var score = 50 + 50;

50 + 50은 리터럴과 연산자로 이뤄져 있다.
그리고 숫자 값 100을 생성하므로 표현식이기도 하다.

score; // -> 100

이번에는 score 변수를 참조했다.

변수 식별자를 참조하면 변수 값으로 평가된다(return 100).
식별자 참조는 값을 생성하지는 않지만 값으로 평가되므로, 표현식이다.

표현식은 리터럴, 식별자, 연산자, 함수 호출 등의 조합으로 이뤄질 수 있다.
즉, 값으로 평가될 수 있는 문은 다 표현식이다.

// 리터럴 표현식
10
'HELLO YUKYUNG'

// 식별자 표현식
sum 
person.name
arr[1]

// 연산자 표현식
10 + 20
sum = 10
sum !== 10

//함수/메서드 호출 표현식
square()
person.getName()

문은 프로그램을 구성하는 기본 단위이자 최소 실행단위이다.

문의 집합으로 이뤄진 것이 바로 프로그램이며, 문을 작성하고 순서에 맞게 나열하는 것이 프로그래밍이다.

또한, 문은 여러 토큰으로 구성되는데, 토큰은 문법적인 의미를 가지며, 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소를 의미한다.

문과 토큰에 관한 그림


마무리

5장 서두에는 아래의 글귀가 굵게 표시되어 있었다.

개념을 이해한다는 것은 용어를 정확히 이해하고 설명할 수 있다는 것이다.

동료들과 소통하면서 부족하다고 느낀 것이 바로 '개발용어'다.

(이 책을 보는 원동력 중 하나가 되었다.)

 

수술실에서 의사가 간호사한테 메스를 갖다 달라고 할 때 의사가 할 말을 상상해 보자.

의사 A🧑🏻‍⚕️: 메스 주세요
의사 B🧑🏻‍⚕️: 그.. 저기 살 자를 때 쓰는 칼..? 그걸로 주세요

수술대에 누운 환자가 본인이라면, 어느 의사에게 수술을 맡기겠는가?

확연히 봐도 전자의 말이 외관적(?)으로 멋있을뿐더러, 누구나 들었을 때 이해하기도 쉽다.

 

개발도 똑같다.

혼자라면, 그냥 말없이 묵묵히 개발하면 그만이지만, 여럿이서 개발하는 상황에서라면 상황은 달라진다.

 

어떤 이슈가 발생해 동료에게 설명해야 할 때나, 설명해줘야 할 때,

시기적절하게 개발용어를 말하면 듣는 입장에서도 이해가 잘 될뿐더러, 본인이 멋있어✨보일 수 있다.

그러니 멋있어지기 위해, 동료를 위해, 개발용어를 잘 이해하고 설명하려고 노력하자.