자바스크립트는 동적으로 타입이 결정되는 언어로, 변수의 유형을 미리 명시적으로 지정하지 않고 선언할 수 있습니다. 이는 개발자에게는 편리한 기능이지만, 때로는 예기치 않은 결과를 초래할 수도 있습니다.
하지만 자바스크립트는 ECMAScript 6(ES6)부터 여러가지 방법을 제공하여 변수의 데이터 유형을 명시적으로 지정할 수 있습니다. 이를 통해 코드의 가독성을 높이고, 버그를 방지할 수 있습니다.
1. 변수 선언과 동시에 유형 지정하기
가장 간단한 방법은 변수를 선언하는 동시에 유형을 지정하는 것입니다. 이를 위해 let
또는 const
키워드를 사용하고, 변수명 뒤에 콜론(:
)을 붙인 후, 유형을 명시합니다.
let myNumber: number = 10;
const myString: string = "Hello, World!";
위의 예시에서 myNumber
변수는 number
유형으로, myString
변수는 string
유형으로 선언되었습니다.
2. 함수 파라미터에 유형 지정하기
함수를 정의할 때, 파라미터에도 유형을 명시할 수 있습니다. 이렇게 함으로써 함수 내에서 해당 파라미터에 올바른 유형의 값이 전달되도록 보장할 수 있습니다.
function addNumbers(a: number, b: number): number {
return a + b;
}
위의 예제에서 addNumbers
함수는 두 개의 number
유형 파라미터를 받고, number
유형의 결과값을 반환합니다.
3. 함수의 반환 값에 유형 지정하기
함수의 반환 값에도 유형을 명시할 수 있습니다. 이는 함수 내에서 값을 계산하고 반환할 때, 올바른 유형의 값을 반환하도록 보장합니다.
function multiplyNumbers(a: number, b: number): number {
return a * b;
}
위의 예제에서 multiplyNumbers
함수는 두 개의 number
유형 파라미터를 받고, number
유형의 결과값을 반환합니다.
4. 클래스 멤버에 유형 지정하기
클래스의 멤버 변수, 메서드 등에도 유형을 명시할 수 있습니다. 이를 통해 객체의 속성과 메서드의 유형을 미리 알 수 있으며, 코드의 가독성을 높일 수 있습니다.
class Person {
name: string;
age: number;
constructor(name: string, age: number) {
this.name = name;
this.age = age;
}
sayHello(): void {
console.log(`Hello, my name is ${this.name}!`);
}
}
위의 예제에서 Person
클래스의 name
과 age
멤버 변수는 각각 string
과 number
유형으로 지정되었습니다. 또한 sayHello
메서드는 반환 값이 없음을 나타내기 위해 void
유형을 사용하였습니다.
자바스크립트 변수의 유형을 명시적으로 지정하는 방법을 알아보았습니다. 이를 통해 코드의 가독성을 개선하고, 더욱 안정적이고 예측 가능한 코드를 작성할 수 있습니다.