📌 명시적 타입 변환 (타입 캐스팅)과 암묵적 타입 변환의 차이에 대해서 말해주세요.
▶️ 명시적 타입 변환
- 개발자가 명시적으로 데이터 타입을 변환하려고 할 때 사용됩니다.
- 주로 다양한 언어에서 제공하는 변환 함수나 연산자를 사용하여 수행됩니다.
- 예시
let str = "42";
let num = parseInt(str);
▶️ 암묵적 타입 변환
- 연산이나 비교를 수행할 때 데이터 타입을 자동으로 변환하여 연산을 수행하려고 시도합니다.
- 개발자의 의도와 다를 수 있으며, 이로 인해 예기치 않은 결과가 발생할 수 있습니다.
- 예시
let str = "42";
let num = 10;
let result = str + num;
📌 단축 평가란 무엇이며, 논리곱, 논리합 연산자가 혼합 되어 있을 경우, 우선순위가 높은 것은?
- 단축 평가는 논리 연산에서 사용되는 개념으로, 조건식을 평가하는 도중에 조건을 충족하는 결과가 이미 확정되면 나머지 평가 과정을 생략하고 해당 결과를 반환하는 방식을 의미합니다. 주로 논리곱(&&)과 논리합(||) 연산자와 관련이 있습니다.
- 논리곱(&&)에서는 왼쪽 피연산자가 false인 경우, 전체 표현식은 false가 되며, 오른쪽 피연산자는 평가하지 않습니다. 왼쪽 피연산자가 true인 경우에만 오른쪽 피연산자를 평가합니다.
- 논리합(||)에서는 왼쪽 피연산자가 true인 경우, 전체 표현식은 true가 되며, 오른쪽 피연산자는 평가하지 않습니다. 왼쪽 피연산자가 false인 경우에만 오른쪽 피연산자를 평가합니다.
- 우선순위는 논리곱(&&) 연산자가 논리합(||) 연산자보다 높습니다.
📌 단축 평가의 장단점은?
▶️ 장점
- 효율성 (논리 연산에서 필요한 최소한의 평가 수행)
- 에러 방지 (불필요한 오류 방지)
- 가독성 (간단한 코드)
▶️ 단점
📌 옵셔널 체이닝에 대해 설명해주세요.
▶️ 정의
- 옵셔널 체이닝은 프로그래밍에서 객체나 속성에 안전하게 접근하기 위한 기술로, 객체의 중첩된 속성을 안전하게 접근하고, 속성이 존재하지 않을 때 오류를 방지하는 데 유용
▶️ 특징
- 안전한 속성 접근
- '?.' 연산자를 사용하여 구현
📌 null 병합 연산자에 대해 설명해주세요.
- null 병합 연산자(??)는 변수 또는 표현식의 값이 null 또는 undefined일 때, 기본값을 설정하기 위해 사용
- 예시
const someValue = null;
const defaultValue = "기본값";
const result = someValue ?? defaultValue;
console.log(result)