[Dart] λ³μμ λ°μ΄ν° νμ μ νμΈν λ μ¬μ©νλ is μ°μ°μ ν€μλ

Dartμμ is μ°μ°μλ λ³μμ λ°μ΄ν° νμ
μ νμΈν λ μ¬μ©νλ ν€μλμ΄λ€.
μ΄ λ³μκ° νΉμ νμ
μΈμ§ 묻λ λ° μ¬μ©λλ€.
κ·Έλμ νμ μ μμ νκ² νμΈνκ³ μ²λ¦¬ν λ μμ£Ό μ μ©ν κΈ°λ₯μ΄λ€.
1. κΈ°λ³Έ μ¬μ©λ²
- variable : νμΈν λ³μ
- Type : νμΈνκ³ μ νλ λ°μ΄ν° νμ
- κ²°κ³Ό : true λλ false
"variable λ³μκ° μ΄ Typeμ΄ λ§λμ?"
variable is Type
μμ
void main() {
var name = "νκΈΈλ";
var age = 25;
print(name is String); // true (nameμ String νμ
)
print(age is int); // true (ageλ int νμ
)
print(name is int); // false (nameμ String νμ
μ΄λ―λ‘ intκ° μλ)
}
2. is! μ°μ°μ
is! μ°μ°μλ λ°λλ‘
'μ΄ νμ
μ΄ μλκ°μ?'
- μλλΌλ©΄ 'true', νμ μ΄ λ§λ€λ©΄ 'false'
void main() {
var value = 3.14;
print(value is! int); // true (valueλ int νμ
μ΄ μλ)
print(value is! double); // false (valueλ double νμ
)
}
3. isμ 쑰건문
isλ₯Ό 쑰건문 μμμ μ¬μ©νλ©΄, νΉμ νμ μΌ λ μ½λλ₯Ό μ€νν μ μλ€.
μ£Όλ‘ μ¬μ©ν λ λ¨Όμ dynamicμΌλ‘ λ³μ νμ
μ μ€μ νκ³
μλ 쑰건문μμ νμ
μ νμΈνλ©΄μ λ€μν νμ
μ μ²λ¦¬ν λ μ¬μ©νλ€.
void printType(dynamic value) {
if (value is String) {
print("μ΄ κ°μ λ¬Έμμ΄μ
λλ€: $value");
} else if (value is int) {
print("μ΄ κ°μ μ μμ
λλ€: $value");
} else {
print("μ΄ κ°μ λ€λ₯Έ νμ
μ
λλ€.");
}
}
void main() {
printType("Hello"); // μΆλ ₯: μ΄ κ°μ λ¬Έμμ΄μ
λλ€: Hello
printType(42); // μΆλ ₯: μ΄ κ°μ μ μμ
λλ€: 42
printType(3.14); // μΆλ ₯: μ΄ κ°μ λ€λ₯Έ νμ
μ
λλ€.
}
μ΄λ° μ¬μ©λ²μ νΉμ§μ,
1. μ μ°ν ν¨μ μμ±μ΄ κ°λ₯νκ³
2. νμ
μμ μ± κ²μ¬λ‘ νΉμ νμ
μ λ°μ΄ν°λ₯Ό μ²λ¦¬ν λ, μ€ν μ μ νμ
μ νμΈν΄μ μ€λ₯λ₯Ό λ°©μ§νλ€.
3. UI Flutterμμ μμ ― νμ
μ νμΈνκ±°λ, νΉμ λ°μ΄ν° νμ
μ λ°λΌ UIλ₯Ό λ³κ²½ν λ μ μ©νλ€.(UI μμ λΆκΈ° μ²λ¦¬)