3일차 ㅡ 조건문, 문자열

dudu00·2022년 10월 25일
0

codestates

목록 보기
3/25

코플릿 문제하고 퀴즈 및 연습 문제들 꾸준히 풀어보기

조건문

&&체크포인트&&

  • truthy와 falsy 가 조건문에서 작동하는 방식
  • 비교 연산자를 통한 엄격한 비교(=== , !==)
  • if 와 else if, else에 대한 이해
  • 논리 연산자를 (&&, ||, ! 등) 통해 복잡한 조건을 간결하게 작성

개념

  • 어떠한 조건을 판별하는 기준을 만드는 것. 반드시 비교 연산자가 필요하다!
  • 비교의 결과는 늘 Boolean, 즉 true 혹은 false
  • === '같다' '수학적인 의미에서의 같다와 동일'

다양한 비교연산자

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

  • 비교의 결과는 늘 Boolean, 즉 true 혹은 false

  • === '같다' '수학적인 의미에서의 같다와 동일'

  • =은 할당이고 ===는 비교 연산자로 비교하는거야.!!!(어떤 값이랑 같은지 여부를 확인할 때 === 씀)

  • <(미만) >(초과) >=(이상) <=(이하) === 같다 !== 다르다

  • 다음 연산자들은 사용 X. 아래 연산자들은 타입을 엄격하게 비교하지 않는다.
    ==(같다), !=(다르다)

ex) 1 === '1' false, 1 == '1' true

조건문 사용

if (조건1) {
	// 조건1이 통과할 경우
}
else if (조건2) {
	// 조건1이 통과 x
	// 조건2가 통과할 경우
}
else {
	// 모든 조건이 통과하지 않는 경우
}
  • 조건에는 Boolean으로 결과가 나오는 비교구문이 들어감

  • ! >> NOT 연산자(truthy, falsy 여부를 반전시킴)

  • 두가지 조건이 한번에 적용되는 경우? 논리 연산자를 사용

예시

학생이면서, 여성일 때 통과

isStudent && is Female ;
  • &&는 AND 연산자

학생이거나, 여성일 때 통과
isStudent || isFemale; >> ||는 OR 연산자
학생이 아니면서, 여성일 때 통과
!isStudent && isFemale;

  • 논리 연산자 Not
    !false // true
    !(3>2) // false
  • NOT연산자는 결과가 true이면 false를, false이면 true를 반환. 2개 이상을 중첩도 가능
let isStudent = true;
let isFemale = false;
console.log(!!!isStudent)
console.log(!!!isFemale)
> false, true
  • undefined 는 값이 false로 취급되는 말임. (falsy)
    ! undefined // true
  • 빈 문자열이 아닌 이상 모든 문자열은 참으로 취급된다. ( truthy )
  • ! 'Hello' // false
  • 논리 연산자 OR
    true || false // true
  • OR연산자(||)를 사용했을 경우 두 조건 중 하나라도 truthy한 값일 경우 true, 그렇지 않으면 false가 출력
let isStudent = true;
let isFemale = false;
console.log(isStudent || isFemale)
console.log(isStudent || !isFemale)
console.log(!isStudent || isFemale)
console.log(!isStudent || !isFemale)
> true, true, false, true
  • 논리 연산자 AND
    true && false // false
  • AND 연산자(&&)를 사용했을 경우 두 조건이 모두 truthy 해야만 true, 그렇지 않으면 false가 출력
let isStudent = true;
let isFemale = false;
console.log(isStudent && isFemale)
console.log(isStudent && !isFemale)
console.log(!isStudent && isFemale)
console.log(!isStudent && !isFemale)
>false
>true
>false
>false

기억해야 할 6가지 falsy 값

if 문에서 false 변환되므로, if 구문 실행 X
if (false)
if (null)
if (undefined)
if (0)
if (NaN)
if ('')
null ㅡ 값이 없다, undefined ㅡ 정의 X
0(꺼짐) 1(켜짐) NaN ''

2. 문자열

&& 체크 &&

  • length 속성을 활용해 문자열의 길이를 확인
  • 두 개 이상의 문자열을 하나의 문자열로 만듦
  • slice() 메서드를 활용해 문자열을 원하는 만큼 ‘복사’
  • 영문으로 된 문자열을 대문자 또는 소문자 변환
  • 문자열 중 원하는 문자의 index를 찾고 접근
str.indexOf('a')
str.lastIndexOf('a')
str[1]
  • includes() 메서드를 활용해 문자열 중 원하는 문자가 포함되어 있는지 확인
str.includes('a')

method를 활용해 문자열을 배열로 바꾸거나, 배열을 문자열로 바꿀 수 있는가
-split()
-join()

  • 템플릿 리터럴(Template literals) 문법을 사용

&& 종류 &&

  • str[index]
    index로 접근은 가능하지만 값을 바꿀 수는 없다.
  • +연산자를 쓸 수 있다.
    string 타입과 다른 타입 사이에 + 연산자를 쓰면 string 형식으로 변환
'1' + true 
"1true"
'1' + [1,2,3]
"11,2,3"
  • .length
    문자열의 길이를 리턴
let str = 'code states';
console.log(str.length)
  • .indexOf
    문자열 내에 지정된 요소가 위치하고 있는 첫 번째 인덱스를 리턴
    지정된 요소가 문자열 내에 존재하지 않을 경우 -1을 리턴
let str = 'code states'
console.log(str.indexOf('s'))
console.log(str.indexOf('i'))
  • split()
    문자열을 지정한 구분자를 이용하여
    여러 개의 문자열로 나눈 후 배열의 형태로 리턴
let str = '사과, 바나나, 오렌지, 배, 감, 딸기';
let word = str.split(', ');
console.log(word);

['사과', '바나나', '오렌지', '배', '감', '딸기']
  • toUpperCase()
    소문자를 대문자로 변환합니다.
  • toLowerCase()
    대문자를 소문자로 리턴합니다.
  • .includes
    인덱스는 인클루드의 기능을 포함
  • str.split
  • str.substring
  • 문자열을 지정한 구분자를 이용하여 여러 개의 문자열로 나눈 후 배열의 형태로 리턴
function isEvenAndGreaterThanTen(num) {
  if (num % 2 === 0 && num > 10) {
    return true;
  }
  return false;
}
return false >>> else , else if return false

else else if 생략해도 되고 생략안해도된다. 마지막에

profile
성장일지

0개의 댓글