处理javascript属性的区分大小写的策略

时间:2013-08-06 16:59:37

标签: javascript properties intellisense

我确信有人会因为问这个问题而大喊大叫,但是这里有:在Javascript中,应对对象属性区分大小写这一事实的最佳策略是什么?如果我使用名为FavouriteDrink的属性创建一个对象,但后来我开始将其称为favouriteDrink,那么我可能会陷入混乱。

我不想在这里使用大型库,但是有没有办法定义对象,以便在某处定义FavouriteDrink,在Visual Studio 2012中,如果我能以某种方式进行语境化,某些intellisense将帮助我选择正确的属性名称我正在处理的对象?这只是我在这里思考的属性。

感谢。

3 个答案:

答案 0 :(得分:3)

这不起作用

如果我查看您的代码并看到:

FavouriteDrink() {} 

我想到的第一件事就是弹出这是一个构造函数而不仅仅是一个普通的函数

并通过查看以下内容

favouriteDrink() {} 

我会告诉我这是一个正常的函数,我不能用它作为构造函数 - 不能用new调用

以下是其他一些例子

 first_name // variable 
 FIRST_NAME // uppercase variables shouldn't change 
 _first_name // local variable not intended to be used out of its scope 

 var FIRSTNAME = {}  // name space 

按照惯例说明单词如何分开是个好主意

请参阅此Code Conventions for the JavaScript Programming Language

对于你问题的其他部分,我正在使用VS 2012而我安装了JSEnhancements

我可以看到我的所有对象元素

enter image description here

答案 1 :(得分:-1)

JavaScript与Java和ActionScript 3共享以下约定。

ALL_UPPERCASE

在定义常量或永不改变的值时,将其用作变量名。

例如,myObject.NUM_TIMES_CLICKED = 2可能是常量的不良候选者,因为它可能会发生变化。但是,myObject.APPLE_FRENCH_SPELLING = 'pomme'在这里是合适的。

firstWordLowercaseAndTheRestAllUppercase

在定义不是constantclass任何时使用此选项。您可以将此用于大多数事情,例如myObject.numTimesClickedmyObject.myFunction()myObject.returnString

AllWordsCapitalized

在定义定义“类”的函数时使用此选项,通常使用语法myObject.myClassInstance = new MyClass()调用任何函数。请注意myClassInstance在camel-case中是如何的,因为它是类的一个实例。但是,MyClass是全部上限,因为它应该使用new.

进行调用

您最初应该像这样定义类:myObject.MyClass = function(){};

答案 2 :(得分:-1)

WebStormSublime Text是提供您正在寻找的代码智能的绝佳工具。

WebStorm开箱即用,但我的个人偏好是使用SublimeCodeIntel插件的Sublime Text。

话虽这么说,但最好是使用命名约定:

  • UpperCamelCase适用于班级
  • ALL_CAPS_SNAKE_CASE适用于常量
  • lowerCamelCase用于其他一切