문(Statements) : 어떠한 작업을 수행하는 코드 블럭
조건문, 반복문, 반환문 등
표현식 문장 : 표현식 + 세미콜론(;)
표현식(Expressions) : 하나 이상의 원시 표현식으로 구성 / 값을 계산하거나 판별하는 코드 블럭 / 값을 평가하는 것
486, true, 1+2 등
반환문 / 반환 표현식 차이
function add(a, b) {
let result = a + b;
return result; // 반환문 - 평가가 아닌 반환만 함
}
function add(a, b) {
return a + b; // 반환 표현식
}
복합 표현식
연산자들에 해당하는 원시 함수를 해당 수들에 적용하는 연산자로 조합된 수(값)..?
137 + 349
486
조합
다른 표현식을 구성요소로 담고 있는 표현식
연산자 조합
가운데 연산자가 있고 좌우에 피연산자 표현식들이 있는 형태 → 137 + 349
함수 선언
복합 연산에 이름을 붙여 그 연산을 하나의 단위로 지칭하게 하는 것 - 추상화 기법
복합 함수
함수 선언을 통해 생성된 함수
함수 적용 과정(함수 적용 치환 모형)
function f(a) {
return sum_of_squares(a + 1, a * 2);
}
function sum_of_squares(x, y) {
return sqare(x) + square(y)
}
function square(x) {
return x * x;
}
1. f(5) 실행
2. sum_of_sqares(a + 1, a * 2)가 sum_of_sqares(5 + 1, 5 * 2)로 치환
3. sum_of_sqares(5 + 1, 5 * 2)에서 두 인수에 적용할 함수 sum_of_sqares을 찾기
4. 두 인수 표현식 평가하여 sum_of_sqares(6, 10) 적용
5. 매개변수에 대입 square(6) + square(10)
6. 인수를 반환 표현식에 대입 - (6 * 6) + (10 * 10)
7. 곱셈 처리 → 36 + 100
8. 덧셈 처리 → 136
※ 해석기가 항상 위의 과정으로 처리하진 않음
조건부 표현식
function abs(x) {
return x >= 0 ? x : - x;
}
function abs2(x) {
return x > 0
? x
: x === 0
? 0
: -x;
}
조건부 표현식은 오른쪽 결합 - 괄호 필요 없음
술어
값이 참, 거짓인 표현식
x >= 0
귀결 표현식
술어가 참일때 결과로 사용할 표현식
x
대안 표현식
술어가 거짓일때 대안으로 사용할 표현식
-x
'이론' 카테고리의 다른 글
우선 인수 평가 / 정상 순서 평가 (0) | 2023.05.09 |
---|---|
멀티 스레딩와 비동기 차이 (0) | 2023.01.03 |
프로그램 / 프로세스 / 스레드 / 소프트웨어 (0) | 2022.12.23 |
.a .so / .dll .lib 확장자 (0) | 2022.12.05 |
시스템 콜 (0) | 2022.12.05 |