当前位置:  开发笔记 > 编程语言 > 正文

JavaScript中的所有大写常量.和要求.和进口

如何解决《JavaScript中的所有大写常量.和要求.和进口》经验,为你挑选了3个好方法。

我习惯使用全部大写来声明常量值.然后我开始使用const任何永不改变的值.突然间,大多数事情都是常数.那没问题.

但代码开始看起来非常不同.

它已被讨论过:https://softwareengineering.stackexchange.com/questions/278652/how-much-should-i-be-using-let-vs-const-in-es6

我很乐意"继续前进const所有的事情!".我猜.我的代码周围会有很多大写字母.

但还有更多.

通过这种逻辑,所需的东西应该是常量?我从未重新分配过要求.那么,是吗?

const GULP = require('gulp');
const ESLINT = require('gulp-eslint');

进口不可重新分配,因此它应该是:

import SOMETHING from 'modules/something';

对?

我正在寻找参考资料.常量的最佳实践.有人认为这比我迄今做的更长,更好.

或者我应该选择任何选项并从那时起保持一致?

我无法找到一个讨论,至少考虑所有这些要点,以帮助我组织我的想法.然而.



1> Jim O'Brien..:

仅仅因为其他语言使用大写字母表示常量,我认为这并不意味着它同样适用于JavaScript.

唯一的参数大写字母,我能想到的是在视觉上区分有什么可以被重新分配,什么不可以.也就是说,像eslint这样的工具能够在你做类似的事情时警告你:

试图重新分配声明的变量const(即let改为使用).

声明一个变量,let而不是重新分配它(即const改为使用).

这个规则的一个例外是定义数学常数,或其他硬编码值,这些值在外部可配置是没有意义的 - 例如DECAY_RATE,或者那种性质的东西.


我认为常量的所有上限都是针对JavaScript建立的:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const

2> 小智..:

一般来说,将常量大写是很常见的做法。这是一个约定,它告诉其他程序员该值是固定的。javascript关键字const,尽管从这个意义上讲不是令人困惑的常数。我认为那是您感到困惑的地方。常数是一个概念/构造。语言中不是原始类型。您可以const用来表示常量(应该),但并非每个const常量都是常量:-)基本上,常量是一个变量,其值在程序执行期间不会更改或不会更改。Javascript的const变量可以更改它,只是无法重新分配。重新分配值和更改值是两件事。

const foo = [1];
// allowed
foo.pop()
push(2);

// not allowed
foo = [];

从根本上说,它或多或少地被添加来为程序员提供某种程度较浅的不变类型。每个人都使用const,因为如果要捕获分配错误,它是最安全的变量类型,并且它的作用域像let一样。使用constover 也有一点性能上的好处let

喜欢的东西,const gulp = require('gulp');虽然用const在这里是完美的,它不是一个常数。它是对值不断变化的函数的引用。

因此,请遵守约定,但仅当它涉及常量时。例如,如果您要构建某种html5视频播放器并提供不同的播放速度。

defaultPlaybackSpeed = 1; // Nothing wrong with this
doubleSpeedMultiplier = 2; // Nothing wrong with this
DEFAULT_PLAYBACK_SPEED = 1; // This though tells others this value is fixed
DOUBLE_SPEED_MULTIPLIER = 2; // Same here



3> 小智..:

有趣。我在读《你不知道JS:向上和向前》一书,发现:

按照约定,JavaScript变量通常为常量,并_在多个单词之间使用下划线。

然后,我进行了更多研究,发现其他一些开发人员站点确实建议您使用大写字母,如MDN所说:

// NOTE: Constants can be declared with uppercase or lowercase, but a common
// convention is to use all-uppercase letters.

// define MY_FAV as a constant and give it the value 7
const MY_FAV = 7;

除此之外,我还注意到他们确实说这是_单词间使用的约定。

我已经读到这是某些语言中的常见做法,但是我还没有注意到Javascript项目中以这种方式编写的代码。除此之外,我总是看到有人说JS是camelCase,这让我有些困惑。无论如何,我是新手。

我相信重要的是,您应该编写对自己和其他可能使用您的代码有用的东西。只要您与项目保持一致,并且遵循与您的团队相同的方式编写代码,我相信这是可以的。

如果您习惯于和大写_,那么我会去:

const GULP = require('gulp');
const ESLINT = require('gulp-eslint');

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有