프로그래밍 기초

statement와 expression / literal과 variable, constant

hs-archive 2023. 9. 8. 17:47

Statement와 Expression

statement와 expression은 자바스크립트의 기본적인 구성 요소입니다. statement는 코드를 실행하는 최소 단위이며 expression은 값을 계산하는 식입니다.

 

Statement는 다음과 같은 종류가 있습니다.

  - declaration statement: 변수 또는 함수를 선언하는 statement입니다.

let a; // 변수 a를 선언합니다.

  - assignment statement: 변수에 값을 할당하는 statement입니다.

a = 10; // 변수 a에 10을 할당합니다.

  - control flow statement: 프로그램의 흐름을 제어하는 statement입니다.

if (a > 10) {
  console.log('a is greater than 10');
} else {
  console.log('a is less than or equal to 10');
}

for (let i = 0; i < 10; i++) {
  console.log(i);
}

  - function statement: 함수를 선언하는 statement입니다.

function add(a, b) {
  return a + b;
}

const result = add(10, 20);
console.log(result); // 30

 

expression은 다음과 같은 종류가 있습니다.

  - arithmetic expression: 산술 연산을 수행하는 expression입니다.

10 + 20; // 30
10 * 20; // 200
10 / 2; // 5
10 % 2; // 0

  - logical expression: 논리 연산을 수행하는 expression입니다.

true && false; // false
true || false; // true
!true; // false

  - relational expression: 관계 연산을 수행하는 expression입니다.

10 > 20; // false
10 < 20; // true
10 == 20; // false
10 != 20; // true

  - function call expression: 함수를 호출하는 expression입니다.

add(10, 20);

 

literal과 variable, constant

literal은 값을 직접 나타내는 표현입니다. variable은 프로그램에서 사용되는 값을 저장하는 변수입니다. constant는 변수와 유사하지만, 값을 변경할 수 없는 변수입니다.

 

literal은 다음과 같은 종류가 있습니다.

  - number literal: 숫자 값을 나타내는 literal입니다.

10;
20.5;

  - string literal: 문자열 값을 나타내는 literal입니다.

'hello world';
'im string';

  - boolean literal: true 또는 false 값을 나타내는 literal입니다.

true;
false;

  - null literal: 값이 의도적으로 비어있음을 표현합니다.

null;

  - undefined literal: 값이 아직 정의되지 않음을 표현합니다.

undefined;

 

literal과 변수, 상수의 예시

// a는 let으로 선언했으므로, 변할 수 있는 변수입니다. 따라서 a는 variable 입니다.
// 10은 소스 코드에 고정된 값입니다. 따라서 10은 literal입니다.
let a = 10; 
 
// b는 const로 선언했으므로, 변할 수 없는 변수입니다. 따라서 b는 constant 입니다.
// 10은 마찬가지로 literal입니다.
const b = 10;

추가적으로 'let a = 10;' 과 'const b = 10'은 statement입니다.

 

추가로.. (Object literal)

앞서 말씀드렸듯 literal은 값을 직접 나타내는 표현입니다. JavaScript에서는 아래와 같이 중괄호{}를 통해 object literal을 표현할 수 있습니다.

const obj = {
  name: 'John Doe',
  age: 30,
};

 

아래는 object literal을 사용하지 않고 객체를 생성하는 방법입니다.

// object literal 사용하지 않고 object 생성
const obj = new Object();
obj.name = 'John Doe';
obj.age = 30;

 

첫 번째는 object literal을 사용하여 object를 생성하고 두 번째는 object literal 없이 object를 생성합니다.

 

성능상의 차이는 거의 없지만 아주 약간 object literal이 빠릅니다. 또한 가독성도 object literal을 사용하는 것이 조금 더 좋습니다.

 

 

 

'프로그래밍 기초' 카테고리의 다른 글

MVC 패턴에서의 validation 처리  (0) 2023.09.10
Node.js 이벤트 루프  (0) 2023.09.04
AWS S3에 파일 업로드: pre-signed URL  (0) 2023.08.28
GraphQL 맛보기  (0) 2023.08.24
SOLID 원칙  (0) 2023.08.17