[코드스테이츠 Day 3] 조건문과 문자열

Strawberry Oolong Tea·2021년 8월 25일
0

TODAY I LEARNED

목록 보기
6/51
post-thumbnail

⚖️ 조건문 Conditional

  • 조건문에 관해 Boolean 타입에 대한 이해가 필요하다.
// if
if (조건문) {
  // 조건문이 true이면 실행
}

// else if
if (조건문) {
  // 조건문이 true이면 실행
} else {
  // 조건문이 false이면 실행
}
  • 조건문은 어떤 조건에 대해 판별하는 기준(참인지 거짓인지)을 만드는 것이다.
  • 조건문에는 반드시 비교 연산자(Comparison Operator)가 필요하다.

📌 비교 연산자 Comparison Operator

MDN 참고자료

기호의미
>초과
<미만
>=이상
<=이하
===같다 (동치연산자)
!==다르다
  • '=='과 '!='는 타입을 엄격하게 비교하지 않으므로 사용하면 안된다.

📌 논리 연산자 Logical Operator

기호의미
&& (AND 연산자)~이면서, ~이고
|| (OR 연산자)~거나, ~이거나
! (NOT 연산자)~이(가) 아니다 (truthy, falsy 여부를 반전)
// AND
true && true // true
true && false // false
false && false // false

// OR
true || true // true
true || false // true
false || false // false

// NOT
!false // true
!true // false
!undefined // true

falsy 값

  • false
  • null
  • undefined
  • 0
  • NaN
  • ''

✍️ 조건문 사용하기

// 조건에는 Boolean으로 결과가 나오는 표현식이 들어간다.
if (조건1) {
  // 조건1이 통과할 경우
} else if (조건2) {
  // 조건1이 통과하지 않고
  // 조건2가 통과할 경우
} else {
  // 모든 조건이 통과하지 않는 경우
}
  • 조건문을 사용할 때는 겹치는 부분(가장 좁은 범위)이 우선 순위가 높다.
  • MECE 참조

📝 문자열 String

  • 모든 문자열 메서드는 immutable 이다.
  • 즉, 원본이 변하지 않는다.

✍️ 문자열 다루기

Accessing a character

function printChar(str, index) {
  return str[index] // bracket notation
}

printChar('Strawberry', 0) // S
printChar('Oolong Tea', 7) // T

index로 접근은 가능하지만 쓸 수는 없다. (read-only)

let str = 'Strawberry'

str[0] = 'A'
console.log(str) // 'Strawberry' NOT 'Atrawberry'

Concatenating strings

+ 연산자를 사용해 문자열을 합칠 수 있다.
string 타입과 다른 타입 사이에 + 연산자를 쓰면
string으로 타입이 변환된다. (toString)

같은 기능으로 concat()을 사용할 수 있다.

let str1 = 'Strawberry'
let str2 = 'Oolong'
let str3 = 'Tea'

console.log(str1 + str2) // 'StrawberryOolong'
console.log(str3 + 12) // 'Tea12'
str1.concat(str2, str3) // 'StrawberryOolongTea'

length PROPERTY

문자열의 전체 길이를 반환하는 속성이다.

let strs = 'Hello world'
console.log(strs.length) // 11

indexOf(searchValue)

전달 인자에 찾고자 하는 문자열을 입력하면
처음으로 일치하는 인덱스를 반환하고 찾고자 하는 문자열이 없으면 -1을 반환한다.

'yellow submarine'.indexOf('yellow') // 0
'yellow submarine'.indexOf('Yellow') // -1
'yellow submarine'.indexOf('submarine') // 7
'yellow yellow submarine'.indexOf('yellow') // 0

lastIndexOf(searchValue)

문자열의 뒤에서 부터 전달 인자에 해당하는 문자열을 검색하고 인덱스를 반환한다.

'coffee'.lastIndexOf('e') // 5

includes(searchValue)

indexOf와 같은 기능을 한다. IE와 같은 구형 브라우저에서는 작동하지 않으므로 주의해야 한다.

split(seperator)

전달 인자에 분리 기준이 될 문자열을 입력하면
분리된 문자열이 포함된 배열을 반환한다.
csv 형식을 처리할 때 유용하다.

let greetings = 'Hello my name is blahblah'
console.log(greetings.split(' '))
// ['Hello', 'my', 'name', 'is', 'blahblah']

substring(start, end)

전달 인자에 시작 인덱스와 끝 인덱스를 입력하면
각 인덱스 사이의 문자열을 반환한다. (끝 인덱스는 포함하지 않는다.)

let intro = 'My name is AJ'
console.log(intro.substring(0, 12))
// 'My name is A'

slice(start, end)

toLowerCase() / toUpperCase()

각각 소문자 / 대문자로 변환된 문자열을 반환한다.

console.log('ABC'.toLowerCase()) // 'abc'
console.log('abc'.toUpperCase()) // 'ABC'

❓ Advanced

  • trim
  • 공백 문자
  • match
  • replace
  • 정규표현식
profile
Der Vogel kämpft sich aus dem Ei 🥚🐣 목표를 위해 끊임없이 자신의 세계를 깨뜨릴 수 있는 용감한 개발자가 되고 싶습니다.

0개의 댓글