타입 변환과 단축 평가 질문/답변

어승준·2023년 10월 4일

JS 스터디

목록 보기
3/26
post-thumbnail

📌 명시적 타입 변환 (타입 캐스팅)과 암묵적 타입 변환의 차이에 대해서 말해주세요.

▶️ 명시적 타입 변환

  • 개발자가 명시적으로 데이터 타입을 변환하려고 할 때 사용됩니다.
  • 주로 다양한 언어에서 제공하는 변환 함수나 연산자를 사용하여 수행됩니다.
  • 예시
// 문자열 "42"를 정수로 변환
let str = "42";
let num = parseInt(str);

▶️ 암묵적 타입 변환

  • 연산이나 비교를 수행할 때 데이터 타입을 자동으로 변환하여 연산을 수행하려고 시도합니다.
  • 개발자의 의도와 다를 수 있으며, 이로 인해 예기치 않은 결과가 발생할 수 있습니다.
  • 예시
// 문자열과 숫자를 더할 때 암묵적 타입 변환 발생
let str = "42";
let num = 10;
let result = str + num; // "4210" (문자열로 결합됨)

📌 단축 평가란 무엇이며, 논리곱, 논리합 연산자가 혼합 되어 있을 경우, 우선순위가 높은 것은?

  • 단축 평가는 논리 연산에서 사용되는 개념으로, 조건식을 평가하는 도중에 조건을 충족하는 결과가 이미 확정되면 나머지 평가 과정을 생략하고 해당 결과를 반환하는 방식을 의미합니다. 주로 논리곱(&&)과 논리합(||) 연산자와 관련이 있습니다.
  • 논리곱(&&)에서는 왼쪽 피연산자가 false인 경우, 전체 표현식은 false가 되며, 오른쪽 피연산자는 평가하지 않습니다. 왼쪽 피연산자가 true인 경우에만 오른쪽 피연산자를 평가합니다.
  • 논리합(||)에서는 왼쪽 피연산자가 true인 경우, 전체 표현식은 true가 되며, 오른쪽 피연산자는 평가하지 않습니다. 왼쪽 피연산자가 false인 경우에만 오른쪽 피연산자를 평가합니다.
  • 우선순위는 논리곱(&&) 연산자가 논리합(||) 연산자보다 높습니다.

📌 단축 평가의 장단점은?

▶️ 장점

  • 효율성 (논리 연산에서 필요한 최소한의 평가 수행)
  • 에러 방지 (불필요한 오류 방지)
  • 가독성 (간단한 코드)

▶️ 단점

  • 의도 파악 어려움

📌 옵셔널 체이닝에 대해 설명해주세요.

▶️ 정의

  • 옵셔널 체이닝은 프로그래밍에서 객체나 속성에 안전하게 접근하기 위한 기술로, 객체의 중첩된 속성을 안전하게 접근하고, 속성이 존재하지 않을 때 오류를 방지하는 데 유용

▶️ 특징

  • 안전한 속성 접근
  • '?.' 연산자를 사용하여 구현

📌 null 병합 연산자에 대해 설명해주세요.

  • null 병합 연산자(??)는 변수 또는 표현식의 값이 null 또는 undefined일 때, 기본값을 설정하기 위해 사용
  • 예시
const someValue = null; // 또는 undefined 또는 다른 값
const defaultValue = "기본값";

const result = someValue ?? defaultValue;
console.log(result) // "기본값"
profile
鈍筆勝聰(둔필승총) : '둔한 붓이 총명함을 이긴다' (서툴더라도 기록으로 남기는 것이 사람의 기억보다 훨씬 오래 보전된다) - 정약용

0개의 댓글