Dart와 JavaScript는 많은 개념을 공유한다. Dart 역시 이벤트 루프에서 실행되고, 비동기 프로그래밍을 위한 Future라는 개념이 존재한다. Future는 자바스크립트의 Promise와 비슷하다. Dart는 정적 타입 언어이기 때문에 타입스크립트를 사용한 경험이 있다면 Dart를 더 쉽게 배울 수 있다.
Dart와 JavaScript의 다른 점과 비슷한 점을 Learning Dart as a JavaScript developer 페이지에 자세히 설명돼 있어서 정리해봤다.
num
, int
, double
)String
)bool
)List
) — 배열Set
) — 중복되지 않는 유일한 요소들의 집합(순서 보장 안함)Map
) — 키-값 쌍을 저장하는 컬렉션(객체와 비슷)Symbol
)Null
)==
연산자는 논리적 동등성(같은 값을 가지는지)을 비교하고, identical()
함수는 참조 동등성(같은 인스턴스인지)을 비교한다.flowchart TD
Object --> num
num --> int & double
Dart는 숫자를 저장하기 위한 3가지 데이터 유형이 있다
Dart는 숫자도 객체로 간주하므로, 숫자에서 바로 관련 메서드를 사용할 수 있다.
// JS
const rounded = math.round(2.5);
// Dart
var rounded = 2.5.round();
문자열 리터럴을 작성하려면 따옴표 '
혹은 쌍따옴표 "
를 사용한다.
특수 문자 이스케이프는 백슬래시 \\
를 사용한다.
final singleQuotes = 'I\\'m learning Dart'; // I'm learning Dart
final doubleQuotes = "Escaping the \\" character"; // Escaping the " character
final dollarEscape = 'The price is \\$3.14.'; // The price is $3.14.
final backslashEscape = 'The Dart string escape character is \\\\.';
final unicode = '\\u{1F60E}'; // 😎, Unicode scalar U+1F60E