JS => 조건문 / 문자열

CHO_velog·2021년 6월 16일
0

조건문

우리는 일상생활 속에서 상황에 맞게 자연스레 판단하고 행동하지만,
컴퓨터는 프로그래밍한 것에 따라 명령에 맞게 행동을 하게 된다.

우리가 시간이 되도 배고프면 밥을 먹고, 배고프지 않으면 밥을 먹지 않는 것처럼,
컴퓨터도 상황에 맞게 행동할 수 있도록 조건문이란 것이 필요하다.

그에 앞서 조건문을 알기 위해 다양한 비교 연산자를 알아야 한다.

비교연산자
> : 초과 / < : 미만 / >= : 이상 / <= : 이하 / === : 같다 / !== : 다르다

조건문 실습 예시

문제) 나이를 입력받아 술을 마실 수 있는지(18세 이상) 여부(boolean)를 리턴해야 한다.

function isOldEnoughToDrink(age) {
  if(age >= 18) {
  return true;
  }
  return false;
}

위처럼 나이 조건에 따라 값이 나오게 할 수 있다.
이를 응용하게 되면 예를 들어 시험 점수에 따라 등급의 값을 나오게 할 수 있는 명령을 내릴 수 있고,
이는 수기로 우리가 직접 작성하는 것 보다 더욱 효율적으로 작업을 할 수 있게 된다.

문자열

문자열이란?

일상생활 속에서 확인할 수 있는 모든 글자의 나열을 문자열이라고 한다.
"나는 개발신생아이다!" 같은 문장도 문자열이다.
그리고 코드 자체도 문자로 이루어져 있다. 따라서 컴퓨터는 코드와 문자열을 구분하기 위해서
작은 따옴표(')나 큰 따옴표(")를 사용하여 문자열을 구분한다.

문자열 하나 하나에 접근하는 방법?

let str = 'Kingcoding';
console.log(str[0]); // 'K'
console.log(str[2]); // 'n'
console.log(str[10]); // undefined

문자열에는 +연산자를 쓸 수 있다?

let str1 = 'King';
let str2 = 'coding';
console.log(str1 + str2); // 'Kingcoding'

str1.concat(str2);의 형태로도 사용 가능 === 'Kingcoding'

문자열의 전체 길이를 반환할 수 있다?

let str = 'Kingcoding';
console.log(str.length); // 10

찾고자 하는 문자열의 인덱스 혹은 Boolean값을 반환할 수 있다?

'King coding'.indexOf('King'); // 0 (처음으로 일치하는 인덱스)
'King coding'.indexOf('king'); // -1 (찾고자 하는 문자열이 없으면 -1)
'King coding'.indexOf('coding'); // 5
'King coding coding'.indexOf('coding'); // 5
'King coding'.indexOf('K'); // 0

'King coding'.includes('Koding'); // false
'King coding'.includes('King'); // true

문자열을 분리하여 처리할 수 있다?

let str = 'What are you doing now?';
console.log(str.split(' ')); // ['What', 'are', 'you', 'doing', 'now?']

// 반환되는 값은 배열 형식
// csv(comma-separated values) 형식을 처리할 때 유용

특정 구간의 문자열을 반환할 수 있다?

let str = 'abcdefg';
console.log(str.substring(0, 3)); // 'abc'
console.log(str.substring(3, 0)); // 'abc' (start > end일 경우 바꿔서 반환)
console.log(str.substring(1, 4)); // 'bcd'

// str.slice(start, end)와 비슷하나, 몇가지 차이점을 보임.
// ex) console.log(str.slice(3, 0)); // '' (start > end일 경우 빈문자열 반환)

문자열을 대문자 혹은 소문자로 변환할 수 있다?

let str = 'Kingcoding'
console.log(str.toUpperCase()); // 'KINGCODING'
console.log(str.toLowerCase()); // 'kingcoding'
profile
개발신생아

0개의 댓글