타입스크립트 플레이그라운드와 같이 다트패드라는 웹 서비스가 있다. 다트를 처음 공부하시는 분들은 활용하면 좋을것 같다.
void main() {
for (int i = 0; i < 5; i++) {
print('hello ${i + 1}');
}
}
시작부터 다른 언어 좀 적어본 사람 티내는게 아니고 다트패드에 처음 들어가보면 반복문 예시가 나와있다... 첫 인상은 타입스크립트와 파이썬 그 중간 어느곳에 있는 느낌이다. 그리고 세미콜론 (;)을 빼먹으면 에러가 나니 꼭 기억해야 할 것 같다.
그리고 에러메시지에서 보이는 재미있는 내용
자바스크립트로 컴파일링 하는것을 실패했다....?
var
를 사용하면 처음 변수를 선언할 때 변수에 할당되었던 값의 자료형이 계속 유지된다. 따라서 var numberOne = 'one'
과 같이 선언했으면 이후 numberOne = 1
로 재할당할 수 없다.
또한 변수를 선언할 때 타입 뒤에 ?을 붙이면 null의 가능성을 열어둔다.
final 과 함께 선언된 변수에는 값 재할당이 불가능하다
그 외 double (실수), bool (참/거짓), List (T 유형의 배열), Map<K,V> (객체), dynamic (any in TS) 자료형이 있다.
void main() {
if(true) {
print("참");
}else{
print("거짓");
}
}
조건문은 자바스크립트랑 똑같이 생겼다....
void main() {
if(true) {
print("참");
}else{
print("거짓");
}
plus(5, 2);
}
void plus (int a , int b){
print(a + b);
}
함수 작성 방법도 기본 자바스크립트와 똑같다... 타입스크립트 기준으로 했을 때 파라미터의 타입을 선언해주는 방식만 약간의 차이가 있다.
함수 선언시 int mul ({required int a}) => 2 * a
와 같이 필수 입력 인자로 지정이 가능하고 String? a
와 같이 null 가능성을 열어둘 수도 있다.
화살표 함수는 자바스크립트에서와 마찬가지로 암묵적 return을 의미한다.
함수 앞의 타입은 반환되는 값의 타입을 의미한다.
클래스는 아직도 잘 모르는 개념이기에 이번 기회로 다시한번 정리하고 간다.
void main() {
Bread bread1 = Bread('팥');
Bread bread2 = Bread('크림');
print(bread1.content); // 팥
print(bread2.content); // 크림
print(bread1.getDescription()); // 맛있는 팥빵입니다.
print(bread2.getDescription()); // 맛있는 크림빵입니다.
}
class Bread {
String? content;
Bread(String prop) {
content = prop;
}
String getDescription() {
return "$content가 들어있는 빵!";
}
}