TIL - 2022.10.24

흔한 감자·2022년 10월 24일
0

코드스테이츠

목록 보기
1/18

TIL - 학습내용

조건(condition)문


비교 연산자

연산자설명
===같은 경우 참을 반환
!==같지 않은 경우 참을 반환
>왼쪽 값이 오른쪽 값보다 큰경우 참을 반환
>=왼쪽 값이 오른쪽 값보다 크거나 같은경우 참을 반환
<왼쪽 값이 오른쪽 값보다 작은 경우 참을 반환
<=왼쪽 값이 오른쪽 값보다 작거나 같은경우 참을 반환

참고

  • undefined의 경우 다른 어떠한 값이랑 비교해도 false를 반환합니다.
  • 동등 연산자( == ) 는 피연산자가 undefined나 null일 때 형 변환을 하지 않습니다.
  • 동등 연산자( == )은 암묵적 형 변환을 허용하여 혼란을 야기할 수 있기 때문에 일치 연산자( === )을 사용하는 것을 권장합니다

삼항 연산자 ‘?’

// 조건문 ? 참일경우 : 겨짓일 경우;
let result = (age > 19) ? "성인" : "미성년자"

코드가 간결해지는 장점도 있지만, 가독성이 떨어지는 결과를 낳을 수도 있으므로 적절한 판단이 필요합니다.


논리연산자

연산자설명
&&두 조건이 참인 경우 참을 반환
||두 조건 중 하나만 참이여도 참을 반환
!조건이 거짓인 경우 참을 반환

nullish 병합 연산자 '??'

c = a ?? b

  • a가 null도 아니고 undefined도 아니면 a
  • 그 외의 경우 b

참고링크 : https://ko.javascript.info/nullish-coalescing-operator

  • 괄호 없이 ??를 ||나 &&와 함께 사용할 수 없습니다.
let errorCase = null || 1 ?? 2  //Uncaught SyntaxError: Unexpected token '??'
let successCase = (null || 1) ?? 2

if ... else 문

if (조건1) {
  조건1이 참일 경우 실행될 코드
} else if (조건2) {
  조건2가 참일 경우 실행될 코드
} else {
  모든 조건이 거짓일 경우에 실행될 코드
}

switch ... case 문

if 문은 switch 문과 서로 대체가 가능하게 코드를 작성할 수 있습니다.

switch (expression) {
  case value1:
    expression이 value1 일때 실행될 코드 
    [break;]
  case value2:
  case value3:
    value2또는 value3이 경우 실행될 코드
    [break;]
  default:
    모든 조건에 만족하지 않을 때 실핼될 코드
    *default는 생략 가능
}

예제

//example1 여러 조건을 배열로 묶어서 처리
switch (true) {
  case [1, 2, 3].include():
    console.log("3이하입니다.");
    break;
  case [4,5,6].include():
    console.log("4이상 6이하입니다.");
}

//example2
function convertScoreToGrade(score) {
  let result = "";

  switch (true) {
    case score >= 90:
      result = "A";
      break;
    case score >= 80:
      result = "B";
      break;
    case score >= 70:
      result = "C";
      break;
    case score >= 60:
      result = "D";
      break;
    case score >=0:
      result = "F";
      break;
  }
  return result;
}

javascript에서 falsy로 처리되는 값들

Boolean( false )
Boolean( null )
Boolean( undefined )
Boolean( 0 )
Boolean( -0 )
Boolean( 0n ) // Bigint
Boolean( NaN ) // Not a Number
Boolean( '' )

https://developer.mozilla.org/en-US/docs/Glossary/Falsy


문자열(String)

문자열은 배열과 같이 index로도 접근이 가능하지만 read-only이기 때문에 값을 바꾸는 것은 불가능하다.

let str = "정정수";
console.log(str[0]); // '정'

str[0] = "김";
console.log(str[0]); // '정'
//오류 발생은 없지만, 값이 변경되지 않음

문자열 보간법

let lastName = "jung";
let firstName = "jungsu";

console.log(`성은 ${lastName}이고 이름은 ${firstName}입니다`);

문자열 병합

문자열과 '+' 연산자를 사용하여 병합 가능하며, 다른 타입과 병합시 string 타입으로 암묵적 형변환이 일어납니다.

let lastName = "jung";
let firstName = "jungsu";
console.log(lastName + firstName); // 'jungjungsu'

console.log(firstName + 1) // 'jungsu1'

문자열 함수

문자열 함수들은 호출 후 원본에 영향이 없습니다. (IMMUTABLE)

함수설명
length문자열 길이 반환
indexOf(searchValue)searchValue를 찾아 index를 반환. 없는 경우 -1을 반환
lastIndexOf(searchValue)searchValue를 문자열 끝에서 부터 찾아 index 반환. 없는 경우 -1을 반환
includes(searchValue)searchValue를 존재 여부를 true/false 값으로 반환
split(seperator)seperator 값으로 문자열을 잘라 Array로 반환
slice(startIndex, endIndex)startIndex부터 endIndex 전 Index까지 잘라 문자열을 반환.
substring(startIndex, endIndex)startIndex부터 endIndex 전 Index까지 잘라 문자열을 반환. 두 파라미터 중 작은 값이 startIndex로 변환 시켜줌
match(searchValue)searchValue의 Array를 반환. 없는 경우 null 반환. (정규표현식 사용가능)
replace(regexp | substr, newSubstr | function)substr을 찾아 newSubstr 대체하여 반환. 정규표현식도 사용가능

Math 함수

함수설명
ceil(number)소수점 이하 올림
round(number)소수점 이하 반올림
floor(number)소수점 이하 내림
min(Array)최솟값 반환
max(Array)최댓값 반환
profile
프론트엔드 개발자

0개의 댓글