FE

JavaScript 기초2

뚱인데욥 2023. 4. 19. 17:00

조건문

if문

if문은 주어진 조건식의 참(true) / 거짓(false) 여부에 따라 실행이 결정된다

if (true) {
	console.log('hello world');
}

동치연산자 ( === )

동치연산자는 두 피연산자가 동일하면 true, 그렇지 않으면 false를 반환한다. !== 는 반대로 두 피연산자가 동일하지 않으면 true, 동일하면 false를 반환한다

let name = 'kimcoding';
if (name === 'kimcoding') {
	console.log('중복된 이름입니다.'); // '중복된 이름입니다.'
}
let name = 'parkhacker';
if (name !== 'kimcoding') {
	console.log('가입할 수 있는 이름입니다.'); // '가입할 수 있는 이름입니다.'
}

비교연산자 ( >, <, >=, <= )

비교연산자는 두 피연산자의 값의 크기를 비교한다.

 

논리연산자 ( &&, || ) 

논리합(||)과 논리 곱(&&)을 사용하면 보수의 조건을 작성할 수 있다. ||은 여러 조건 중 하나만 여도 true로 판단된다. &&은 여러 조건 중 하나라도 false이면 false로 판단된다. 

 

부정연산자 ( ! )

부정연산자는 조건을 부정한다. 조건이 true이면 false, 조건이 false이면 true를 리턴한다.


else문

if문을 사용하여 조건식이 true일 때만  코드가 실행되도록 할 수 있다. else문은 독립적으로 사용할 수 없고, if문 바로 뒤에 작성해야 한다. 여기서 조건을 더 추가하고 싶다면 else if문을 사용하면 된다. if문과 else문은 두 번 이상 사용할 수 없지만 else if문은 여러 번 사용 가능하다.

 

삼항 조건 연산자

if문과 else문을 삼항 조건 연산자로 바꿔 쓸 수 있다. 조건식을 먼저 작성한 후 ? 를 입력하고 ? 뒤로 참 / 거짓일 때 실행할 코드를 입력한다. 참 / 거짓일 때 실행할 코드는 : 로 구분한다. 그러나 조건에 따라 실행해야 할 내용이 복잡하다면 if문과 else문을 사용하는 것이 좋다


반복문

for문

  1. for문 내부에 num이라는 변수를 선언하고 1이라는 초기값을 할당한다.
  2. 변수 num이 5보다 작거나 같은지 확인한다.
  3. 2의 결과가 true면, 코드블록 내부의 코드를 실행한다.
  4. 변수 num을 1 증가시킨다.
  5. 2부터 4까지 반복한다.
  6. 2의 결과가 false면, 반복문이 종료된다.

➡️ 반복횟수가 비교적 명확하고 배열, 문자열 내부를 순회하거나 반복문의 중첩이 필요할 때 사용

 

초기값 : 증감식 반복 횟수를 카운트하는 역할을 하는 변수. (초기값은 반복문의 코드블록 내에서만 유효)

// 초기값(i)을 선언하고 1을 할당
for (let i = 1; 조건식; 증감식) {
	console.log(i);
}

조건식 : 코드블록 내부의 코드를 실행 여부를 결정

// i가 3보다 작거나 같을 경우 코드 실행, 3보다 클 경우 반복문 종료
for (let i = 1; i <= 3; 증감식) {
	console.log(i);
}

증감식 : 코드블록 내부의 코드를 실행한 후 초기값으로 선언된 변수를 증가 또는 감소시키기 위한 표현식

// 코드가 실행될 때마다 i가 1씩 증가
for (let i = 1; i <= 3; i++) {
	console.log(i); // 1 2 3
}

문자열과 반복문

인덱스 (index)

문자열의 각 문자는 순서를 가지고 있다. 첫 번째 문자의 인덱스는 0이며 특정 문자의 인덱스를 확인하는 메서드는 indexof() 이다. 

 

길이 (length)

문자열의 길이는 문자열 뒤에 .length를 붙임으로써 조회할 수 있다

let str = 'codestates';
for (let i = 0; i <= str.length - 1; i++) {
	console.log(str[i]);
}

문자열의 마지막 문자의 인덱스는 문자열의 길이보다 1만큼 작다. i <= str.length -1 또는 i < str.length 로 조건식을 작성하면 문자열의 끝까지 순회하는 반복문을 구현할 수 있다


while문

while문은 조건식만 입력한 후 조건식의 평가결과가 true인 경우 코드블록 내부의 코드를 반복하여 실행한다. while문을 사용할 때는 무한루프를 주의해야 하는데 무한루프란 반복문이 종료되는 조건식이 항상 참으로 평가되어 무한히 반복되는 현상을 말한다. false로 되는 순간 반복문은 종료된다. (반복 횟수가 명확하지 않을 때 사용)

let num = 0;

while (num < 3) {
	console.log(num); // 0 1 2
	num++
}

do .. while문

while 뒤에 오는 조건식이 true로 평가되는 동안 do 뒤에 오는 코드블록 내부의 코드를 반복하여 실행한다. 이 경우 do의 코드블록 내부의 코드가 최소 한 번은 실행된다.

do {
	console.log('코드블록 내부의 코드는 최소 한 번은 실행됩니다.') 
	// '코드블록 내부의 코드는 최소 한 번은 실행됩니다.'
} while (false)

조건문 연습문제에서 시간을 입력받아 메세지를 리턴해야 하는 문제가 있었는데 멘붕이었다 ..

그래도 그 전 문제들은 답을 보거나 설명을 들었을 때 이해가 갔는데 이 문제는 하나씩 천천히 봐야 이해가 갔다

return 결과 값으로 백틱을 사용해서 사용자 이름과 시간을 나타냈고 조건에는 분은 60분, 시간은 1보다 크며 60*24 = 1440분 보다 작게 , 일수는 24시간인 1440분보다 클 경우로 시간과 일 단위에는 Math.floor로 내림처리하였다 코드 짜는게 제일 어려운 것 같다

왕초보세션에서 잘 풀려면 손코딩으로 적어보라고 하셨다 아직 갈 길이 멀지만 차근차근 하나씩 해봐야겠다

스터디 보니까 어떤 분들은 벌써 프로젝트 준비를 하시던데 ,, 저 괜찮은건가요 ㅠㅠ ㅋㅋㅋㅋㅋ 

공부하는 시간을 늘려서 문제를 더 풀어보고 부족한 부분에는 무료 강의를 이용해서 찾아봐야겠다!