1. C++이나 Java 같은 정적 언어와 자바스크립트의 차이를 동적 타이핑 관점에서 설명해주시고, 이로 인해 나타나는 문제에 대한 해결방안은 무엇인지 설명해주세요.

정적 타입 언어 - 변수를 선언할 때 데이터 타입도 사전에 같이 선언하고 정해진 데이터 타입만 할당 가능

동적 타입 언어 - 변수만 선언. 이후에 어떠한 데이터 타입의 값이라도 자유롭게 할당 가능

동적 타입 언어는 데이터 타입을 따로 선언하지 않아도 되기에 코드 작성이 간결하고 데이터 타입도 언제든지 동적으로 변할 수 있어서 유연한 구조를 가지고 있지만, 반대로 동적으로 변하는 타입이 의도치 않은 오류가 발생할 수 있고 변화하는 값을 추적하기 어려워 상대적으로 신뢰성이 떨어진다.

이를 해결하기 위해

or Typescript 같은 정적 타입 검사 도구 사용.

→ 오류를 최소한으로 줄이고 값을 추적하기 쉽게 해야 함


  1. 데이터 타입의 부동소수점과 BigInt 의 연관성은 무엇인가요?

자바스크립트는 모든 숫자 데이터를 부동소수점 형식으로 저장

→ 근사치를 계산하는 방식이라 계산 부정확, 최대치가 존재

BigInt

원시값(부동소수점 형식)보다 큰 정수를 표현할 수 있음

숫자 뒤에 n을 붙여서 사용

부동소수점 형식은 Number 타입, BigInt는 BigInt 타입