자바스크립트는 동적타입을 가진 언어이다.
따라서 특정 값이 할당된 변수에 그와 다른 자료형의 값을 넣는 것이 가능하다.
자유롭기는 하나, 그만큼 자료형 관련 오류에 취약하다는 단점이 있다.
* 동적타입(Dynamic typed), 정적타입(Static typed) : 타입을 컴파일에서 확인하는 언어가 정적타입 언어, 런타임에 확인하는 언어를 동적타입 언어라고 한다.
정적타입 언어 : C, C++, C# 등이 있다.
동적타입 언어 : javascript, python 등
정적타입의 장점
1. 타입 에러로 인한 문제점을 초기에 발견할 수 있어 높은 안정성을 자랑한다.
2. 컴파일 시에 미리 타입을 결정해서 실행속도가 빨라진다.
정적타입의 단점
1. 코드 작성 시 변수형을 결정해주어야 하는 번거로움이 있다.
동적타입의 장점
1. 런타임까지 타입에 대한 결정을 끌고 갈 수 있어 유연성이 높다.
2. 컴파일 시 타입을 명시해주지 않아도 되기 떄문에 빠르게 코드를 작성할 수 있다.
동적타입의 단점
1. 실행 도중에 예상치 못한 타입이 들어와 타입에러가 발생할 수 있다.
컴파일 언어와 인터프리터 언어
컴파일 언어 : 코드 실행 및 배포 전 컴파일 과정을 거치게 되면서 오류를 잡는다. 코딩을 마치고 나면 프로그래밍 언어로 된 코드는 컴파일 과정을 통해 다른 형태로 바뀐다. 그 결과물을 실행하는 것이 특성.
인터프리터 언어 : 코딩 후 다른 과정 없이 그대로 실행할 곳으로 보내져서 인터프리터를 통해 통역되어 바로 실행된다.
일반적으로 컴파일 언어는 정적 타입, 인터프리터 언어는 동적 타입인 경향이 있다.
'JAVASCRIPT' 카테고리의 다른 글
[JavaScript] switch문 범위 주는 방법 (0) | 2023.02.01 |
---|---|
[Javascript] 연산자 (0) | 2022.12.26 |
[JavaScript] 이스케이프 문자 (0) | 2022.12.26 |
[JavaScript] 원시 자료형 (0) | 2022.12.26 |
[JavaScript] 변수 (0) | 2022.12.26 |