[TIL] 23.04.08

Minkyu Shin·2023년 4월 8일
0

TIL

목록 보기
9/44
post-thumbnail

오늘의 나는 무엇을 배웠을까?

JS

1. JS의 데이터 타입

  • 다른 언어에 비해 데이터 타입이 유연함
  • 변수에 따로 데이터 타입을 지정하지 않음
  • 코드가 원하는 대로 동작하지 않을 수 있기 때문에 데이터 타입에 대한 정확한 이해 필요
  • 지난 학습 내용에 데이터 타입에 대한 정리를 해 보았다
    기본형 (Primitive Type)
    참조형 (Reference Type)

1-1. 심볼 (Symbol) - ES2015 추가

  • 기본형 데이터 타입
  • 코드 내 유일한 값을 가진 변수 이름 만들 때 사용
  • const symbol = Symbol('심볼에 대한 설명')
  • 심볼 값을 담은 변수는 다른 어떤 값과 비교해도 true 가 될 수 없음
  • 동일한 설명을 붙인 심볼을 비교해도 false 반환
const symbol1 = Symbol('나는 심볼');
const symbol2 = Symbol('나는 심볼');

console.log(symbol1 === symbol2); //false

1-2. BigInt - ES2020 추가

  • 2**53 - 1 초과 -(2**53 - 1) 미만의 정수를 다룰 때 사용
  • JS가 배정밀도(double-precision 64-bit) 부동소수점 형식 숫자체계 를 사용하기 때문에 위와 같은 범위가 나옴
  • let bigNum = 10n 과 같이 일반 정수 뒤 n을 붙이거나
    let bigNum = BigInt(number) 와 같이 함수를 사용
  • 소수 표현 불가, 소수 형태 결과 반환 연산 시 정수 형태로 반환
  • BigInt 타입끼리만 연산 가능하지만 타입 변환 시 다른 타입과도 연산 가능

1-3. function에 typeof 연산자를 사용하면?

  • JS에서 함수는 객체로 취급 된다
  • 함수에 typeof 연산자를 사용하면 어떤 결과가 나올까
function hello() {
  console.log('Hello');
}

typeof(hello); // 1. object(X) 2. function(O)
  • 위와 같이 object 가 아닌 function 을 반환함을 기억하자

2. falsy & truthy

2-1. falsy 값과 truthy 값

  • if for 문의 조건부분처럼 불린 타입의 값이 필요한 맥락에서 불린 타입이 아닌 값도 불린 타입으로 형 변환
  • falsy : False 로 평가되는 값
    false null undefined NaN 0 ''
  • truthy : True 로 평가되는 값
    나머지 모든 값. 빈 배열 및 객체 포함

2-2. AND(&&)와 OR( || )의 연산 방식

  • AND( && ) 연산자
    왼쪽 피연산자가 truthy 하면 오른쪽 피연산자 반환
    왼쪽 피연산자가 falsy 하면 왼쪽 피연산자 반환
  • OR( || ) 연산자
    왼쪽 피연산자가 truthy 하면 왼쪽 피연산자 반환
    왼쪽 피연산자가 falsy 하면 오른쪽 피연산자 반환
  • AND, OR 연산자의 연산 우선순위
    AND 연산자가 OR 연산자보다 우선순위가 높음
    혼란을 막기 위해 소괄호 () 를 활용하여 우선순위를 명확히 표현하자
console.log(true || false && false); // true
console.log('String' || NaN && false); // String

2-3. null 병합 연산자 - ES2020 추가

  • ?? 를 사용하여 null 또는 undefined 값을 가려냄
const ex1 = null ?? 'Nice';
const ex2 = undefined ?? 'to meet';
const ex3 = 'you' ?? 'Bye';

console.log(ex1, ex2, ex3); // Nice to meet you
  • 왼쪽 피연산자가 null 또는 undefined 면 오른쪽 피연산자 반환
  • 왼쪽 피연산자가 그 외의 값이라면 왼쪽 피연산자 반환
profile
개발자를 지망하는 경영학도

0개의 댓글