조건문(conditional statement)

조건문은 주어진 조건에 따라 코드를 실행하거나, 실행하지 않으며 조건문의 기본 형식은

if (조건식)

동작문;

이며 조건식에는 조건이 들어가야 하고, 동작문에는 동작이 들어가야 한다.

예를 들어,

if (true){

    console.log('Good Evening!')

}

라는 명령어를 입력하면

Good Evening!

이라고 나타나며 undefined

라는 반환값이 나타난다.

하지만,

if (false){

    console.log('Goood Evening!');

}

라는 명령어를 입력하면 나타나는 글은 없으며, undefined

라는 반환값만 나타난다.

여기서 true라는 값을 일일이 넣어줄 필요는 없으며 true로 형 변환되는 값(참인 값)이나 그것을 담고있는 변수로 대체할 수 있다.

예를 들어,

let condition = true

if(condition)

    { console.log('Hello If!');

}

Hello If!

와 같이 조건이 참이라면 코드는 작동하게 된다.

else if문

else if는 조건과 동작문에 여러가지를 입력할 수 있는 방법인데, 이는

if(조건식) {

(동작문);

}

else if(조건식) {

(동작문); }

else {

(동작문);

}

와 같은 형식으로 사용할 수 있다. 이를 통해 여러 조건에 따라 다른 동작을 수행할 수 있으며, 마지막 else 문은 모든 조건이 거짓일 때 실행된다.

Switch문

조건문은 if문과 switch문이 있으며 조건을 충족할 때 실행한다는 공통점이 있지만, 차이점 또한 있다.

이는

switch (조건식) {

case (비교조건식):

동작문;

}

의 형태이며 두개의 조건식이 필요한 형태로 나타난다. switch 옆의 조건식이 case 옆의 비교조건식과 일치(===)한다면, 해당 동작문이 실행된다. 보통 조건식에 변수를 넣고 비교조건식에 변수와 비교할 값을 넣는다.

예를 들어,

let value = 'a';

switch (value) {

    case ('a') : console.log('A');

}

A

의 형태로 나타난다.

조건부 연산자(conditional expressions)

if문과 switch문 외에도 분기 처리에 사용하는 식이 있는데, 이를 조건부 연산자 또는 삼항 연산자로 표현한다.

조건부 연산자의 기본 형식은

조건식 ? 참인 형식 : 거짓인 형식

의 형태로 간단히 나타낼 수 있으며, 이는 문이 아니라 식이기 때문에 결과값이 나타나게 된다.

예를 들어,

1 > 2 ? '참' : '거짓' '거짓'

의 형태로 나타날 수 있다. 이처럼 연산자는 코드를 줄이는 데에 유용하나, 코드가 너무 길다면 오히려 복잡해 보일 수 있다.

728x90

'Javascript' 카테고리의 다른 글

자바스크립트 중첩반복문과 별 찍기  (0) 2024.10.23
자바스크립트 조건반복문  (1) 2024.10.23
자바스크립트 변수와 상수  (1) 2024.10.21
자바스크립트 연산자  (0) 2024.10.20
자바스크립트 기본 문법  (1) 2024.10.19

변수(variable)

프로그램을 만들 때는 일시적으로 특정한 값을 자주 사용할 경우가 있는데, 이 때 변수를 사용한다.

이는 디스크가 아닌 메모리에 저장하는 일시적인 저장방법이다.

코딩을 할 때, 사람이 하나하나 입력하는 경우에는 실수가 발생할 수 있으며 정보처리시간 또한 길어지게 된다.

그러므로 ‘let’ 이라는 변수를 선언하여 이를 방지하여야 한다.

예를 들어,

 

let numberOne = 123의 변수를 선언하는 입력을 한다면

let numberOne = 123

undefined

이라는 결과값을 나타내게 되고, 후에 NumberOne 이라는 입력을 하면

numberOne

123

라는 결과값을 자동으로 나타낸다.

이와 같은 ‘let’으로 시작하는 명령을 선언이라 한다.

이를 응용한다면,

 

let numberOne = 1000

let numberTwo = 2000

let numberThree = 3000

numberOne + numberTwo + numberThree

6000

 

과 같은 결과값을 출력할 수 있다.

추후에, 이 선언을 바꾸고 싶다면 명령어를 입력하여

 

NumberOne = 4000 4000

 

와 같이 바꿀 수 있다.

또한, 이 선언문을 없애고 싶을 경우, 빈 값인 ‘null’ 값을 입력하여 선언문을 없앨 수 있으며

예를 들어, let NumberTwo = nul 이라는 명령어를 입력한다면

 

let NumberTwo = null

undefined

 

와 같은 결과값이 나타나게 되고, 후에 NumberTwo라는 명령어를 입력하게 된다면

 

NumberTwo

null

 

과 같은 결과값이 나타나게 된다.

이러한 변수는 영어 뿐만이 아닌 한글, 한자, 유니코드, ‘$, _’같은 특수문자도 선언이 가능하다.

상수(constant)

‘let’ 외에도 변수를 선언하는 예약어로 ‘const’ 와 ‘var’가 있다.

‘const’는 바꿀 수 없는 선언문이며, 이를 바꾸려고 한다면 에러가 발생한다.

예를 들어, const a = 'B' 라는 명령어를 입력했을 경우

 

const a = 'B'

undefined

 

라는 결과 값이 나타나며

a = 'C’ 라는 a의 변수선언문에 다른 값을 대입을한다면

a = 'C' VM7443:1 Uncaught TypeError: Assignment to constant variable. at <anonymous>:1:3

와 같은 결과값이 나타난다.

 

‘var’는 다시 선언할 수 있는데, 이는 사용간 착오를 불러 일으킬 수 있으므로 버그가 발생할 가능성이 있다.

따라서, 과거의 명령에서는 쓰였지만 현재는‘let’과 ‘const’로 완벽히 대체할 수 있으므로 사용하지 않는다.

728x90

+, -, *, /

컴퓨터에서는 ‘+, -, *, /’를 더하기, 빼기, 곱하기, 나누기로 인식하여 사용할 수 있다.

 

**

거듭제곱을 사용하고 싶다면, '**'의 기호를 사용 할 수 있는데

예를 들어, 23을 입력한다면 8이 출력되며 32를 입력한다면 9가 출력된다.

연산자를 사용한다면 사칙연산에 의해 처리되며, 우선순위가 같은 연산자는 왼쪽에서 부터 처리된다.

예를 들어, 

2 + 3 * 4를 입력한다면 사칙연산에 의해 14의 결과값을 나타내게 되며, 2+3을 먼저 처리하고 싶다면

(2 + 3) * 4로 입력하여 앞의 2 + 3 부분을 먼저 처리해 20의 결과값을 나타내게 된다.

 

예를 들어, 1 + 2 ** 3을 입력할 경우에는 결과값이 9가 나오지만, (1 + 2) ** 3 을 입력한다면 괄호 안의 계산 먼저 처리하게 되어 27의 결과값이 나오게 된다.

숫자를 사용 할 경우 그 수의 양이 크다면 10000의 경우에 1e4로 입력할 수 있으며 결과 값은 10000로 출력된다.

==, ===

자바스크립트에서는 값이 같은지 비교하기 위해서는 ‘=’ 연산자가 아닌’==’ 연산자를 사용하며

‘=’ 연산자는 비교하는 연산자가 아닌 대입 했다는 의미이다.

하지만

'1' == 1

true

의 결과값을 나타내는데, 이는 자료형이 같은 경우에 형 변환을 한 후 비교하기 때문이다.

그러므로 자료형까지 같은지 비교하기 위해서는 ‘===’ 연산자를 사용하며 이는 값 뿐만이 아닌 자료형까지 같은지도 비교한다.

따라서, ‘===’ 연산자를 사용한다면

'1' === 1 false

와 같이 다른 결과값을 나타낸다.

‘같지 않다’ 라는 표현을 자바스크립트에서 입력하기 위한 방법으로는 ‘!=’ 연산자를 사용할 수 있으며

이는 역시

'1' != 1 false

의 결과값을 볼 수 있으며, 형을 변환하지 않으며 비교하기 위해서는 ‘!==’ 연산자를 사용하고 이를 사용했을 때는

'1' !== 1 true

처럼 다른 결과값을 나타낸다.

728x90