前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Dart的变量常量

Dart的变量常量

原创
作者头像
杨不易呀
发布2023-12-13 00:09:24
1940
发布2023-12-13 00:09:24
举报
文章被收录于专栏:Flutter18杨不易呀

前言

  • 在 Dart 和 JavaScript 中,变量和常量的概念是编程的基础
  • 我将解释这两种语言中变量和常量的定义方式,并且还会介绍它们之间的主要差异

Dart 中的变量和常量

变量

  • 在 Dart 中,可以使用 var 关键字来声明一个变量
  • Dart 也支持类型注解,允许你明确变量的类型

在 Dart 中,你可以使用 var 关键字来声明一个变量:

代码语言:javascript
复制
void main() {
  // 类型推断为 String
  var name = 'Dart';
  print(name);
}

Dart 也支持类型注解,允许你明确变量的类型:

代码语言:javascript
复制
void main() {
  // 明确指定类型为 String
  String language = 'Dart';
  print(language);
}

常量

Dart 中有两种类型的常量:finalconst

  • final:当你不想更改一个变量的值,可以使用 final, final 变量只能赋值一次
代码语言:javascript
复制
void main() {
  final cityName;
  cityName = 'New York';
  print(cityName);
}
  • const:用于定义编译时常量
代码语言:javascript
复制
void main() {
  const PI = 3.14;
  print(PI);
}
  • const 变量不仅是 final 的,它们的值在编译时就已确定(不然编译器会报错,The constant 'PI' must be initialized.)
代码语言:javascript
复制
void main() {
  const PI;
  // The constant 'PI' must be initialized.
  PI = 3.1415926;
  print(PI);
}

JavaScript 中的变量和常量

变量

  • 在 JavaScript ES6 及之后的版本中
  • 可以使用 let 关键字来声明一个变量,这是推荐的方式,因为它具有块级作用域
  • 也可以使用 var,但它具有函数级作用域,不太推荐使用
代码语言:javascript
复制
// 使用 let 定义变量
let name = 'JavaScript';

// 使用 var 定义变量(不推荐)
var language = 'JavaScript';

常量

  • 在 JavaScript 中,const 关键字用于声明一个常量,这意味着一旦赋值,其值不能被改变
代码语言:javascript
复制
const PI = 3.14;

补充一个知识点,在 Dart 中可以通过 .runtimeType 获取变量的类型,而在 JavaScript 中可以通过 typeof 获取变量的类型

Dart 中 final 和 const 的区别

在 Dart 中,finalconst 都用于定义不可变的变量,但它们的使用场景和含义有所不同:

final

  • final 用于声明一个只能被赋值一次的变量
  • final 变量的值在第一次使用时被确定
  • final 变量可以是运行时常量,值可以在运行时被确定

适合用于那些在运行时才能确定值的场景,如从网络获取数据或用户输入。

const

  • const 用于定义编译时的常量
  • const 变量的值必须在编译时就确定
  • const 变量不仅是最终变量,值在编译时就已固定

适合用于那些值不会改变且在编译时就能确定的常量,如数学常数。

使用 final 当你想要定义一个只能赋值一次的变量,其值在运行时被确定 使用 const 当你需要一个编译时常量,其值永远不会改变

这两者的选择取决于你是否需要在运行时计算变量的值。对于那些在编译时就能确定并且永远不会改变的值,const 是一个更好的选择。

异同点

  • 变量声明
    • Dart 支持类型注解,允许你在声明变量时指定类型
    • JavaScript 使用 letvar(推荐使用 let)声明变量,但不支持类型注解
  • 常量
    • Dart 中的 finalconst 有细微差别:final 用于运行时常量,const 用于编译时常量
    • JavaScript 只有 const,用于声明一个值不可变的常量
  • 类型安全
    • Dart 是一种类型安全语言,支持静态类型检查
    • JavaScript 是一种动态类型语言,类型检查在运行时进行

最后

我正在参与2023腾讯技术创作特训营第四期有奖征文,快来和我瓜分大奖!

本期结束咱们下次再见👋~

🌊 关注我不迷路,如果本篇文章对你有所帮助,或者你有什么疑问,欢迎在评论区留言,我一般看到都会回复的。大家点赞支持一下哟~ 💗

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • Dart 中的变量和常量
    • 变量
      • 常量
      • JavaScript 中的变量和常量
        • 变量
          • 常量
          • Dart 中 final 和 const 的区别
            • final
              • const
              • 异同点
              • 最后
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档