조건문, 문자열

멜로디·2021년 1월 19일
0

조건문

조건문은 어떠한 조건을 판별하는 기준을 만드는 것.
조건문에는 반드시 비교 연산자가 필요하다.

비교 연산자

'>' 초과
'<' 미만
'>=' 이상
'<=' 이하
'===' 같다
'!==' 다르다

같다와 다르다를 나타내는 연산자의 =기호는 반드시 갯수를 정확하게 맞추어야 한다. 그렇지 않으면 엄격하게 비교하지 않기 때문에 정확한 연산이 불가능하다. (관련 내용은 JS Equality Table 참조)

조건문 작성 방법

주의사항

  • 모든 조건에는 Boolean으로 결과가 나오는 비교 구문이 들어간다
  • 두가지 조건이 한번에 적용되는 경우 논리 연산자를 사용한다

작성방법

if(조건1) {
  //조건 1이 통과한 경우
} else if(조건2) {
  //조건1이 통과하지 않고 조건 2가 통과한 경우
} else {
  //모든 조건이 통과하지 않는 경우
}

이 때 주의해야 할 점은, 거의 모든 컴퓨터 언어는 윗줄부터 순차적으로 연산을 진행한다. 따라서 범위를 잘 생각해서 조건문을 작성하여야 한다.

조건문에 사용하는 논리 연산자

조건1 && 조건2 = and
조건1 || 조건2 = or
!조건1 = not
// not 논리 연산자는 아래와 같이 Boolean을 반전하기도 한다
!false = true
!(3>2) = false

위 논리 연산자 중 not과 함께 꼭 기억해야 할 falsy 값들이 있다

if(false)
if(null)
if(undefined)
if(0)
if(NaN)
if(' ')

위 값들은 if문에서 false로 변환되어 if구문이 실행되지 않는다. (자세한 내용은 'mdn 거짓같은 값' 으로 검색해볼 것)

문자열

주의사항

  • 문자열 위치(index)는 항상 0부터 시작함을 인지한다
  • n번째 글자와 n번째 위치의 글자는 다른 뜻이다
  • 공백도 문자열에 포함한다
  • 문자열은 반드시 read-only이다. (재할당 시에만 값이 바뀜)
  • 문자열에는 + 연산자만 사용할 수 있다
  • 문자열 + 숫자 형태 입력 시 문자열에 숫자를 이어 붙인 형태의 문자열을 반환한다

str[index]

문자열의 n번째 위치에 있는 글자를 찾을 수 있다.

var str = 'dynamic korea';
console.log(str[0]);
// 반환 : d
console.log(str[7]);
// 반환 : ' '

str.length

문자열의 전체 길이를 알 수 있다

var str = 'dynamic korea';
console.log(str.length);
// 반환 : 13

str.indexOf('문자열')

  • 찾고자 하는 문자열을 넣으면 처음으로 일치하는 글자 위치를 알 수 있다(공백포함)
  • 찾고자 하는 문자열이 없으면 -1을 반환한다
  • lastIndexOf는 뒤에서부터 찾는다
    var str = 'dynamic korea'
    str.indexOf('k')
    // 반환 : 8

str.includes('문자열')

일치하는게 있는지 확인할 때 사용한다

var str = 'dynamic korea'
str.includes('dynamic') // true
str.includes('Dynamic') // false
str.includes('dyn') // true

str.split('문자열')

문자열을 한 기준에 따라 나눌 때 사용한다. 엑셀의 그 csv 기능 맞다

var str = 'dynamic korea'
console.log(str.split(' ')
// ['dynamic' , 'korea']

진짜 엑셀 csv를 불러와서 그냥 사용하면 중간에 줄바꿈은 분리하지 못하는데, 보통 이럴 때에는 줄바꿈(\n)을 기준으로 split한 뒤 lines[1].split 으로 쪼갠다

str.substring(start, end)

  • 시작과 끝 지점 사이의 문자열을 가져올 때 사용한다
  • end번째는 포함하지 않는다
  • 음수는 0으로 취급한다
  • 범위 초과시 마지막 글자를 end번째로 반환한다
  • 인자를 하나만 넣으면 반대로 작동한다
    var str 'dynamic korea'
    str.substring(0,4) // 'dyna'
    str.substring(3,7) // 'amic'
    str.substring(5) // 'ic korea'

str.slice(start, end)와 비슷하지만 몇가지 차이점이 있다. 그건 mdn 참조할 것

str.toUppercase()

  • 대문자로 일괄 변환한다
  • 소문자로 일괄 변환할때는 str.toLowercase() 를 쓴다
profile
하루하루 배울때마다 기록하는 일기장

0개의 댓글