동적/정적(static/dynamic) 타입
프로그래밍 언어에서 변수를 어떻게 다루냐에따라 static 타입과 dynamic 타입으로 나뉜다.
Static type(정적 타입)
- 예시 언어: Java, C, C++, TypeScript, Swift...
- 변수가 선언될 때 타입이 결정됨
let age: number = 25;
age = "twenty-five"; //string 타입ㅁ 할당 안되
장점
- 컴파일에서 오류를 잡을수 있기에 안정성 증가
- 코드에디터에서 자동완성이나 오류 검사 가능
단점
- 코드의 유연성 감소
- 변수 사용전 타입 명시 필요
Dynamic type(동적 타입)
- 예시 언어: JavaScript, Python, Ruby, PHP...
- 변수가 할당될 때 타입이 결정(runtime 중 변경될수 있음)
let age = 25;
age = "twenty-five"; // string 타입 할당 가능
장점
- 코드가 유연해지고 간단해짐
- 고민할 필요가 없으므로 빠른 개발가능
단점
- 런타임중 오류발생 가능
- 가독성 감사
- 코드 에디터에서 자동완성이나 오류 검사 기능이 약함
강/약 (Strong/Weak) 타입
Strong type
- 데이터 타입이 강제로 지정되어 있음, 타입간의 변환이나 연산이 엄격하게 제한
- 연산하려면 타입을 명시적으로 변환해야한다.
Weak type
- 타입간의 변환이 자동으로 이루어지거나 느슨하게 적용
- 연산시 자동으로 타입변경하여 연산처리
'연구노트 > 자바스크립트' 카테고리의 다른 글
삼항연산자 / 중첩삼항연산자 (0) | 2024.08.09 |
---|---|
자바스크립트 Array.prototype 표준 내장 객체3(every, fill) (0) | 2023.07.02 |
자바스크립트 Array.prototype 표준 내장 객체2(concat, copyWithin) (0) | 2023.07.02 |
자바스크립트 Array.prototype 표준 내장 객체 1(map, reverse, pop, push) (0) | 2023.07.01 |