반복문 안에 반복문이 있는 경우를 ‘중첩 반복문’ 이라 하며

예를 들면,

for (let i = 0; i < 10; i ++) {

    for (let j = 0; j < 10; j++) {

    console.log(i, j);

}

}

0 0

0 1

0 2

~

9 9

와 같이 나타난다.

별 찍기

let i = 0;

for(let i = 0; i < 5; i++) {

    console.log(' '.repeat(5 - i - 1)+'+'.repeat(i+i+1));

}

        +

      +++

    +++++

  +++++++

+++++++++

let i = 0;

for(let i = 0; i < 5; i++) {

console.log(' '.repeat(5 - i - 1)+'+'.repeat(i+1));

}

    +

   ++

  +++

 ++++

+++++

728x90

반복문(While, for)

모든 프로그래밍 언어는 반복하는 동작을 처리하는 반복문을 가지고 있으며, 조건문과 더불어 가장 많이 쓰이는 언어 중 하나이다.

while문

while문의 기본 형식으로는

while (조건식);

동작문;

이 있으며 이는 조건식과 마찬가지로 조건문이 참일 경우에 설정한 동작문을 무한히 반복한다.

그러므로, 동작문의 무한한 반복을 피하기 위해서는 조건식이 항상 참인 값을 피하기 위해 변수값을 입력해야 한다.

예를 들어,

let i = 1;

while(i <= 100) {

console.log('hello while!'); i++;

}

(100)hello while! 100

라는 반환값을 나타내기 되는데, 이는 ‘hello While!’ 문자열을 100번 출력한 것이다.

여기서, ‘i++;’ 명령어 대신에 ‘ i = i + 1’과 ‘ i += 1’명령어를 입력해도 결과물은 똑같다.

위의 명령어를 사용할 때 마다 i 값은 1씩 커지므로 i 값이 100에 도달할 경우,

조건인 i 가 100에 도달할 때 동작문 더 이상출력되지 않는다.

for문

for문의 기본 형식은

for (시작; 조건식; 종료식)

동작문;

의 형태로 이루어지며 for 문의 소괄호에는 세 가지 요소인 시작(식과 변수 선언), 조건식 그리고 종료식이 들어간다. 조건식과 동작문은 while문과 동일하다.

예를 들어,

for (let i = 1; i < 100; i++) {

console.log('Hello, for!');

}

99 Hello, for! 라는 반환값이 나타난다.

while 문은 시작, 조건문, 반복문이 따로 위치해있으나 for 문은 시작, 조건문, 반복문이 같이 위치한다.

 

for-of 반복문

for-of문은 배열을 위해 사용할 수 있으며

예를 들면

const users = ['A', 'B', 'C']
for (const user of users) {
	console.log(user);
	}

를 입력하였을 때

A
B
C

 

의 결과값을 얻을 수 있으며, 이는 반복문에서 모든 요소에 대해 한 번씩 실행하고 배열을 위해 주로 사용된다.

 

for-in 반복문

for-in 반복문은 객체를 위해 사용할 수 있으며

예를 들면

const loggedInUser = {
  Name: "kanghyun",
  age: 28,
  isAdmin: true,
};

for (const propertyName in loggedInUser) {
  console.log(propertyName);
  console.log(loggedInUser[propertyName]);
}

와 같이 사용할 수 있으며

Name
kanghyun
age
28
isAdmin
true

와 같은 결과값을 나타낸다.

 

 for-in문을 사용하여 'Name, kanghyun, age'와 같은 객체를 나타내며, 위의 'loggedInUser[propertyName]'에 의해 상수에 동적으로 접근하여 객체의 값을 나타낼 수 있다.

 

break 문과 continue 문으로 반복 멈추기

break문

break문으로 특정 조건에서 실행 되는 것을 멈출 수 있는데

예를 들면,

let i = 0;

while (true) {

    if (i === 5) break; i++;

}

console.log(i); 5

의 형태로 값이 나타날 수 있는데, 여기서 break 문을 사용하여 i가 5가 될 때 반복문은 멈추게 된다.

continue문

continue 문은 특정 상황에서 멈추고 그 상황을 건너 뛰어 다시 입력할 수 있는데

예를 들면,

let i = 0;

while (i < 10) {

    i++;

    if ( i % 2 === 0 ) {

    continue;

}

    console.log(i);

}

1

3

5

7

9

의 형태로 값이 나오게 된다.

여기서, ‘i % 2 === 0 ‘의 조건문은 ‘상수를 2로 나누었을 때, 나머지가 0’이라는 의미를 가지며

continue 문법을 사용하여 반복문을 멈춘 후, 그 경우를 건너뛰고 다시 반복한다.

728x90

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