-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDart.txt
More file actions
118 lines (49 loc) · 3.06 KB
/
Dart.txt
File metadata and controls
118 lines (49 loc) · 3.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
Dart
JS와 차이점
1. var로 변수를 선언해도 같은 스코프 안에서는 같은 이름의 변수를 두번 선언할 수 없다.
2. 코드 끝에 무조건 세미콜론을 붙여야한다.
3. console.log === print
4. 정수의 변수 선언 int number1 = 2;
5. 실수의 변수 선언 double number1 = 2.5;
6. 불리언 값의 변수 선언 bool isTrue = true;
7. 문자 값의 변수 선언 String name = "레드벨벳";
8. var은 들어간 변수에 따라서 타입이 지정됨.
9. print(name3.runtimeType);
runtimeType : 실행이 되는 그 순간의 변수의 타입을 알려줌
10. JS의 template문법인 `${ }`가 Dart에서는 따옴표(작은, 큰 둘다)안에서 사용가능하고 ` ` 이거는 사용안됨.
print('${name}');
심지어 중가로 안에 변수 하나만 쓰는 경우에는 중가로를 안써도 된다.
'$name $name2'
변수 뒤에 runtimeType같은거 붙이려면 중가로를 써야됨. 안쓰면 문자로 인식
11. var vs dynamic
var 로 선언한 변수는 선언했을 때의 타입에서 변경될 수 없고 (에러)
dynamic으로 선언한 변수는 타입 또한 자유자재로 변경 가능.
그외 String, int, double, bool등 타입이 지정된 선언자의 변수는 타입을 변경할 수 없다.
12.nullable과 non-nullable
모든 데이터 타입들은 두가지로 나뉜다. 그 타입만 들어갈 수 있느냐 아니면 그 타입과 null이 들어갈 수 있느냐.
어떤 타입이든 변수 선언자 뒤에 ?물음표를 붙이면 null까지 들어갈 수 있는 타입으로 바뀐다.
어떤 함수의 파라미터 뒤에 !느낌표를 붙이면 그 파라미터는 절대 null이 아니다라는 뜻.
? : null이 들어갈 수 있다.
! : null이 들어갈 수 없다.
13. final
final String name = '코드팩토리';
const String name2 = '블랙핑크';
값을 변경할 수 없다.
var 기능을 생략 가능 (타입 생략 가능)
final name =
const name =
final vs const
final : 빌드 타임의 값을 몰라도 됨
const : 빌드 타임의 값을 알아야 됨
빌드란?
사람이 이해하기 쉽도록 만든 언어로 코드를 작성하고 실행할때 그 코드를 컴퓨터가 이해하기 쉬운 언어 (10101)으로 변환하는 작업.
빌드타임의 값을 알고 있어야된다 === 코드를 작성하는 순간에 그 코드의 값을 알고 있어야한다.
다른 말로 하면 final은 컴파일 되는 중에 변수의 값이 들어갈 수 있고
const는 컴파일 전에 이미 변수의 값이 정해져 있어야 한다는 뜻인 듯.
컴파일 타임 : 소스코드를 해석하는 작업.
런 타임 : 해석한 코드로 실행시키는 작업.
14. DateTime now = DateTIme.now( );
코드가 실행되는 순간의 시간을 출력. (같은 함수 안에서 DateTime.now()를 두번 세번 하면 시간이 다 다르게 나옴)
final DateTime now = DateTime.now( ); => 괜춘
const DateTime now2 = DateTime.now( ); => 에러
27:19