본문 바로가기

이론

프로그래밍 기본 요소

문(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