2022년 4월 27일

Daisy🌼·2022년 4월 27일
0

오늘 학습한 내용 중 떠오르는 단어

  • 조건문, if...else, if...else if, truthy, falsy, 논리 연산자 , &&, ||, !

  • 문자열.length, split(), slice(), toUpperCase(), toLowerCase(), Math 객체, 표준 내장 객체

단어를 조합해 오늘 배운 내용 설명

조건문

  • 프로그램의 순차적인 흐름을 제어하는 실행문을 제어문이라고 한다.

  • 조건문은 평가식의 결과에 따라 계산 결과가 달라지는 제어문이다.

  • 조건문의 평가식은 true 또는 false로 평가된다.

  • 비교 연산자를 사용해 값이 true인지 false인지 평가할 수 있다.

  • 비교 연산자는 ==와 ===가 있는데, ===를 사용할 것을 권장한다.

    🙋‍♀️ 왜 ==를 사용하면 안 되나요? 둘의 차이가 무엇인가요?
    👉 ==는 피연산자의 자료형이 다를 경우 암묵적인 형변환을 통해 타입을 통일해서 비교합니다. 이러한 작동 원리는 ECMAScript 명세에 "추상적 동등 비교 알고리즘"(The Abstract Equailty Comparison Algorithm)으로 정의되어 있습니다. 따라서 서로 다른 자료형의 값을 ==으로 비교하게 될 경우, 형변환을 하는 과정에서 피연산자의 값이 동일해질 수도 있습니다. 이는 개발자가 의도하지 않은 결과를 반환할 수 있으므로 피연산자의 타입이 일치하는 지까지 비교하는 ===를 사용할 것을 권장하는 것입니다. (참고로, 위와 같은 이유를 생각하면 "==는 타입을 비교하지 않는다"는 표현 또한 정확하지 않는다는 것을 알 수 있습니다. 타입을 비교하지 않는 것이 아니라, 내부 알고리즘에 따라 암묵적인 형변환을 통해 타입을 통일해서 비교합니다. (출처: How does Abstract Equality Comparison work?)

  • 실제 데이터 타입은 boolean이 아니지만 평가식에서 true 또는 false로 평가되는 값을 truthy value 또는 falsy value라고 한다.

  • falsy 값은 다음과 같다: 숫자 0, null, undefined, NaN, 빈 문자열, false(당연하지만!)

  • 위에서 언급한 falsy 값을 제외한 다른 값은 평가식에서 true로 평가된다.

  • 어떤 값이 NaN인지 아닌지를 판별할 때는 비교 연산자를 사용할 수 없다.

  • 대신 isNaN()이라는 함수를 사용해 판별할 수 있다.

  • 논리 연산자는 AND 연산자 &&, OR 연산자 ||, NOT 연산자 !가 있다.

문자열 메서드

  • 문자열.length는 string 객체의 속성이다.

  • split() 메서드로 구분자를 기준으로 문자열을 배열에 담을 수 있다.

  • 특히 split() 메서드는 csv 파일을 파싱할 때 많이 사용한다고 한다.

    🙋‍♀️ csv가 뭔가요? 개발할 때 많이 쓰는건가요?
    👉 'comma seperated variables'의 줄임말로, 쉼표로 구분된 텍스트 데이터 및 텍스트 파일을 의미합니다. 엑셀에서 많이 쓴다고 합니다.

  • slice() 메서드는 문자열의 일부를 잘라서 반환한다.

  • toUpperCase()와 toLowerCase()는 원본 문자열을 변경하지 않는다.

  • slice() 메서드와 toUpperCase(), toLowerCase()는 원본 문자열을 변경하지 않는다. 이렇게 원본 데이터를 변경하는 메서드와 그렇지 않은 메서드를 각각 mutable, immutable하다고 한다.

  • Math 객체는 자바스크립트 엔진이 기본적으로 제공하는 객체다.

profile
커피와 재즈를 좋아하는 코린이 | 좋은 글 좋은 코드를 쓰고 싶습니다

0개의 댓글

관련 채용 정보