The Var Keyword
-
var- There is no need to specify the variable's type.
- When updating the value, it must match the original type of the variable.
- Explicit Declaration
- Conventionally, the
varkeyword is used to declare local variables within functions or methods (recommended by the Dart style guide, as the compiler knows the type anyway). - When declaring variables or properties in a class, the type is specified.
- Conventionally, the
Dynamic Type
- A keyword used for variables that can have various types.
- It's not generally recommended, but it can be very useful at times.
- Why? It is used when it is difficult to know what type a variable will be, especially when working with Flutter or JSON.
- Example of usage:
void main() {
var a;
dynamic b;
}
Nullable Variables
Null safety prevents the developer from referencing null values.
In Dart, it must be clearly indicated whether a variable can be null.
void main() {
String? nico = 'nico';
nico = null;
nico?.isNotEmpty; // This checks if the value exists before proceeding with the following operations. Equivalent to the below.
if (nico != null) {
nico.isNotEmpty;
}
}
Final Variables
To define a variable that cannot be modified, use final instead of var.
It's similar to const in JavaScript or TypeScript.
void main() {
final a = 'nico';
final String b = 'nico';
}
Late Variables
late is a modifier that can be added before final or var.
late allows declaring a variable without initial data.
void main() {
late final String name;
// do something, go to api
name = 'nico';
}
Constant Variables
const in Dart is different from JavaScript or TypeScript.
In JavaScript or TypeScript, const is similar to final in Dart.
In Dart, const is used to create compile-time constants.
It's used for values that are known at compile time.
These values are known before uploading the app to the app store.
void main() {
const name = 'nico';
const max_allowed_price = 120;
}
Recap
According to Dart's style guide, it is recommended to use var as much as possible, and using types is advised when writing properties in a class. When declaring local variables within methods or small functions, using var is preferable since the compiler will infer the variable's type anyway.
The dynamic type must be used very cautiously.
Top comments (0)