타입스크립트는 점진적 타입 시스템을 채택해서 정적 타입 시스템처럼 프로그램 실행 전에 타입을 올바르게 썼는지 타입 검사를 해 타입 안정성을 확보하면서도, 동적 타입 시스템처럼 변수에 우리가 일일이 모두 타입을 지정해주지 않아도 되는 유연함까지 갖춘 언어입니다.
이를 통해 타입 관련 오류를 사전에 방지할 수 있으면서도, 기존 자바스크립트로만 작성된 코드의 점진적 마이그레이션도 가능합니다.
🎯답변
타입스크립트는 자바스크립트의 슈퍼셋 언어로, 자바스크립트의 한계를 보완할 수 있습니다.
자바스크립트는 웹 브라우저에서만 동작하도록 만들어 졌고 또 아주 간단한 사용자 상호작용을 처리하기 위해 만들어진 언어입니다. 사용자가 버튼을 클릭할 때 경고창을 띄워주는 정도의 상호작용을 위한 언어이기 때문에, 엄격한 문법을 갖출 필요가 없었습니다. 그런데 Node.js가 등장하면서 웹브라우저만 실행할 수 있었던 자바스크립트를 여러 다른 환경에서 실행할 수 있게 되었고, 웹브라우저 외에 웹서버, 모바일과 데스크탑 어플리케이션 등 여러 분야에 활용이 되면서 코드의 안정성을 보장할 필요가 생겼습니다.
자바스크립트의 한계?
자바스크립트의 근본적인 한계는 자바스크립트 언어가 채택한 동적 타이핑 시스템입니다.
동적 타입 언어는 변수에 타입을 명시적으로 지정하지 않고 코드가 실행되는 런타임에 해당 값의 타입에 따라 변수 타입이 결정됩니다.
타입에 관대할 뿐만 아니라, 연산을 위하여 필요 시 임의로 형 변환까지 실행하므로 개발 의도와 다르게 동작할 가능성이 있습니다.
let a = "hello" //문자열
a = 19970107 //숫자
a.toupperCase(); //오류가 발생할 코드이지만 사전에 알 수 없고 런타임에서 확인 가능
자바스크립트의 한계를 보완할 수 있는 타입스크립트
타입스크립트는 점진적 타입 시스템을 채택해서 정적 타입 시스템처럼 프로그램 실행 전에 타입을 올바르게 썼는지 타입 검사를 해 타입 안정성을 확보하면서도 동적 타입 시스템처럼 변수에 우리가 일일이 모두 타입을 지정해주지 않아도 되는 유연함까지 갖춘 언어입니다. 이를 통해 타입 관련 오류를 사전에 방지할 수 있으면서도, 기존 자바스크립트로만 작성된 코드의 점진적 마이그레이션도 가능합니다.
❓문제
타입스크립트를 사용하는 이유에 대해 '정적 타입' 용어를 사용하여 설명해주세요!
🎯답변 요약
정적 타입 시스템
처럼 프로그램 실행 전에 타입을 올바르게 썼는지 타입 검사를 해 타입 안정성을 확보하면서도,동적 타입 시스템
처럼 변수에 우리가 일일이 모두 타입을 지정해주지 않아도 되는 유연함까지 갖춘 언어입니다.🎯답변
타입스크립트는 자바스크립트의 슈퍼셋 언어로,
자바스크립트의 한계를 보완
할 수 있습니다.자바스크립트는 웹 브라우저에서만 동작하도록 만들어 졌고 또 아주 간단한 사용자 상호작용을 처리하기 위해 만들어진 언어입니다. 사용자가 버튼을 클릭할 때 경고창을 띄워주는 정도의 상호작용을 위한 언어이기 때문에, 엄격한 문법을 갖출 필요가 없었습니다. 그런데 Node.js가 등장하면서 웹브라우저만 실행할 수 있었던 자바스크립트를 여러 다른 환경에서 실행할 수 있게 되었고, 웹브라우저 외에 웹서버, 모바일과 데스크탑 어플리케이션 등 여러 분야에 활용이 되면서 코드의 안정성을 보장할 필요가 생겼습니다.
자바스크립트의 한계? 자바스크립트의 근본적인 한계는 자바스크립트 언어가 채택한 동적 타이핑 시스템입니다.
자바스크립트의 한계를 보완할 수 있는 타입스크립트
정적 타입 시스템
처럼 프로그램 실행 전에 타입을 올바르게 썼는지 타입 검사를 해 타입 안정성을 확보하면서도동적 타입 시스템
처럼 변수에 우리가 일일이 모두 타입을 지정해주지 않아도 되는 유연함까지 갖춘 언어입니다. 이를 통해 타입 관련 오류를 사전에 방지할 수 있으면서도, 기존 자바스크립트로만 작성된 코드의 점진적 마이그레이션도 가능합니다.