angular2教程,const变量

时间:2016-08-18 21:54:40

标签: angular

雅阁风格指南angular2,告诉:“考虑在较低的驼峰情况下拼写常量变量。” “在UPPER_SNAKE_CASE中命名常量的传统反映了现代IDE之前的一个时代,它快速揭示了const声明.TypeScript本身可以防止意外重新分配”

https://angular.io/styleguide#!#03-02

但是在用于app.component.ts文件(英雄阵列)的angular2教程中,使用UPPER_SNAKE_CASE

    import { Hero } from './hero';
    export const HEROES: Hero[] = [
        {id: 11, name: 'Mr. Nice'},
        {id: 12, name: 'Narco'},
        {id: 13, name: 'Bombasto'},
        {id: 14, name: 'Celeritas'},
        {id: 15, name: 'Magneta'},
        {id: 16, name: 'RubberMan'},
        {id: 17, name: 'Dynama'},
        {id: 18, name: 'Dr IQ'},
        {id: 19, name: 'Magma'},
        {id: 20, name: 'Tornado'}
    ];

为什么?

1 个答案:

答案 0 :(得分:0)

Imho命名包含文字/文字结构的const或来自变量的const之间有区别:

我UPPER_SNAKE_CASE这个:

const API_URL = "http://www.example.com";

并且降低了这一点:

for (var i = 0; i < 10; i++) {
  const maxHeightOfVehicle = bridges[i].height - 10;

  console.log(maxHeightOfVehicle);
}

虽然maxHeightOfVehicle在技术上是一个常量,但并不意味着它不会随着时间的推移而具有不同的值。

另一方面,

API_URL是一个文字,使其成为“真正的常数”;

因此,虽然不再需要它来阻止你改变一个常量,但它仍会告诉你一些关于你正在处理什么的东西。

所以在英雄之旅中我更喜欢将HEROES保持在大写中,因为它是一个文字结构。一个明确定义的常数。