TypeScript入门与实战
上QQ阅读APP看书,第一时间看更新

3.5.1 对象字面量

对象字面量也叫作对象初始化器,是最常用的创建对象的方法。

3.5.1.1 数据属性

对象字面量的数据属性由属性名和属性值组成,语法如下所示:


{ 
    PropertyName: PropertyValue,
}

在该语法中,PropertyName表示属性名;PropertyValue表示属性值。对象属性名可以为标识符、字符串字面量和数字字面量,对象属性值可以为任意值。

3.5.1.2 存取器属性

一个存取器属性由一个或两个存取器方法组成,存取器方法分为get方法和set方法两种。get方法能够将属性访问绑定到一个函数调用上,该方法用于获取一个属性值。set方法可以将对象属性赋值绑定到一个函数调用上,当尝试给该属性赋值时,set方法就会被调用。存取器属性的语法如下所示:


{
    get PropertyName() {
        return PropertyValue;
    }
    set PropertyName(value) { }
}

存取器属性中的get方法和set方法不要求同时存在。我们可以只定义get方法而不定义set方法,反过来也是一样。如果一个属性只定义了get方法而没有定义对应的set方法,那么该属性就成了只读属性。

3.5.1.3 可计算属性名

可计算属性名是指在定义对象字面量属性时使用表达式作为属性名。可计算属性名适用于对象属性名需要动态计算的场景之中。属性名表达式求值后将得到一个字符串或Symbol值,该字符串或Symbol值将被用作对象属性名。它的语法如下所示:


{
    [PropertyExpression]: PropertyValue,
    get [PropertyExpression]() {
        return PropertyValue;
    },
    set [PropertyExpression](value) { }
}