const和readonly的区别

constreadonly 是 TypeScript 中用于声明常量的关键字,它们有一些区别和不同的作用。

  1. 区别:

    • const 可以用于声明变量和对象属性,而 readonly 只能用于声明对象属性。
    • const 声明的变量的值在声明后不能被修改,而 readonly 声明的对象属性的值只能在对象初始化时或构造函数中被修改。
  2. 作用:

    • const 用于声明一个不可变的常量,可以提高代码的可读性和可维护性,避免在使用常量时出现错误的赋值操作。
    • readonly 用于声明一个只读属性,在对象中表示该属性只能读取,不能修改。这可以确保对象的某些属性只能在对象创建时或特定方法中进行更改,提高代码的安全性和可靠性。
    • 使用示例:

      1.使用 const 声明常量:
const PI = 3.14159;
// PI = 3.14; // Error: 无法重新分配常量
console.log(PI); // 输出: 3.14159

                  2.使用 readonly 声明只读属性:

class Circle {
  readonly radius: number;

  constructor(radius: number) {
    this.radius = radius;
  }

  getArea() {
    return Math.PI * this.radius * this.radius;
  }
}

const circle = new Circle(5);
// circle.radius = 10; // Error: 无法分配到 "radius" ,因为它是只读属性
console.log(circle.getArea()); // 输出: 78.53975

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值