1️⃣ 자바스크립트가 동적 타이핑 언어이기에 갖게 되는 이점은 무엇이 있는가?

자바스크립트가 동적타이핑 언어이기에 갖게 되는 이점은 아래와 같다.

  • 유연성과 편의성: 동적 타이핑은 변수나 값의 타입을 미리 선언하지 않아도 되므로 코드 작성이 간편합니다. 변수의 타입 변환 또한 자동으로 이루어지기 때문에 타입 변환에 대한 별도의 작업이 필요하지 않습니다.
  • 빠른 개발 속도: 타입 선언 없이 빠르게 코드를 작성하고 수정할 수 있습니다. 이로 인해 프로토타이핑과 실험을 빠르게 진행할 수 있습니다.
  • 동적인 데이터 구조 처리: 동적 타이핑 언어는 데이터 구조를 더 유연하게 처리할 수 있습니다. 예를 들어, 배열이나 객체에 서로 다른 타입의 값을 혼합해서 저장할 수 있습니다.
  • 유연한 함수 파라미터: 함수의 파라미터를 타입에 구애받지 않고 사용할 수 있습니다. 이는 다양한 유형의 값을 함수로 전달하고 반환할 수 있음을 의미합니다.
  • 런타임 환경에서의 다양한 동작: 동적 타이핑은 런타임 환경에서 코드의 동작을 더 다양하게 결정할 수 있게 합니다. 예를 들어, 타입 변환이 자동으로 이루어질 수 있기 때문에 조건에 따른 분기 처리 등이 더 유연해집니다.
  • 쉬운 코드 이식성: 동적 타이핑 언어는 코드를 다른 환경으로 이식하기가 상대적으로 쉬울 수 있습니다. 타입 시스템이 엄격하게 정의되어 있는 정적 타이핑 언어보다 더 유연한 코드 작성이 가능하며, 다양한 플랫폼에 맞게 코드를 조정하기 용이합니다.

2️⃣ 심벌 타입에 정의에 대해서 설명하시오.

자바스크립트에서 심볼(Symbol)은 원시 데이터 타입 중 하나로, ES6(ECMAScript 2015)에서 도입되었다. 심볼은 고유하며 수정 불가능한 값으로, 주로 객체 속성의 식별자로 사용된다. 심볼은 다른 어떤 값과도 겹치지 않는 유일한 값을 가지며, 이 특성 때문에 주로 객체 속성 키로 사용하여 이름 충돌을 방지하거나 숨김 속성을 만드는 데 사용된다.

3️⃣ 변수보다는 상수를 사용해 값의 변경을 억제하는 것이 좋다면 모든 변수를 const로 선언하고 이후에 값이 변경될 때 let으로 변경하면 되는가?

모든 변수를 const로 정의하는 것은 가능하지만, 실제로는 모든 변수가 불변(immutable)해야 하는 경우는 드물다. 따라서 모든 변수를 const로 정의하는 일 또한 드물다고 볼 수 있다. 어떤 변수를 const로 정의하고 어떤 변수를 let으로 정의해야 할지는 해당 변수의 사용 목적과 값의 변경 여부에 따라 결정된다.

4️⃣ 자바스크립트의 고차함수 개념이 다른 프로그래밍 언어에서도 쉽게 볼 수 있는가?

고차 함수 개념은 자바스크립트뿐만 아니라 다른 많은 프로그래밍 언어에서도 볼 수 있는 중요한 개념이다. 아래는 그 중 대표적인 언어이다. 함수형 프로그래밍 스타일에서 주로 사용되며, 코드의 모듈성과 재사용성을 높일 수 있는 강력한 기능이다.

  • Python: 파이썬은 고차 함수 개념을 지원하며, map(), filter(), reduce()와 같은 함수를 활용하여 리스트나 컬렉션의 요소를 변환, 필터링하거나 축소할 수 있다.
  • Java: 자바는 함수형 프로그래밍을 위해 람다 표현식과 스트림 API를 도입했습니다. 스트림은 컬렉션을 다루는데 사용되며, 매핑, 필터링, 정렬 등 다양한 고차 함수 기능을 제공한다.
  • C#: C#도 람다 식과 LINQ(Language Integrated Query)를 통해 고차 함수 개념을 지원합니다. LINQ는 데이터 쿼리와 변환을 위한 강력한 도구로, 컬렉션을 다루는데 사용된다.

5️⃣ 타입스크립트는 자바스크립트에서 탄생한 언어이지만 자바스크립트의 유연성을 배제하고자 만들어진 언어이니 정적타입언어 인가?

그렇다. 타입스크립트는 자바스크립트에서 파생된 언어로서, 자바스크립트의 유연성과 동적 타입 체계의 단점을 보완하기 위해 만들어진 언어이다. 타입스크립트는 정적 타입 언어이다.

profile
Whether you're doing well or not, just keep going👨🏻‍💻🔥

0개의 댓글