Linter 规则 - 首选未带引号的属性名称

此规则在声明对象属性名称以及对象属性在数组访问中取消引用的位置查找不必要的单引号。

在 Bicep 中,当对象属性键包含数字或特殊字符时,可以选择使用引号。 例如,空格、'-' 或 '.'。 有关详细信息,请参阅对象

Linter 规则代码

请在 Bicep 配置文件中使用以下值自定义规则设置:

prefer-unquoted-property-names

解决方案

以下代码中不需要引号:

var obj = {
  newProp: {} // Property name is fine.
  'my-prop' : {} // Quotes are required.
  '1' : {} //  Quotes are required.
  'myProp': {} // Quotes are NOT required.
 }

var x0 = obj.newProp // Code is fine.
var x1 = obj['my-prop'] // Quotes and square brackets are required.
var x2 = obj['1'] // Quotes and square brackets are required.
var x3 = obj['myProp'] // Use obj.myProp instead.

可以通过删除不必要的引号来解决此问题:

var obj = {
  newProp: {}
  'my-prop' : {}
  '1' : {}
  myProp: {}
 }


var x0 = obj.newProp
var x1 = obj['my-prop']
var x2 = obj['1']
var x3 = obj.myProp

(可选)可以使用“快速修复”来修复问题:

linter-rule-prefer-unquoted-property-names-quick-fix

The screenshot of Prefer unquoted property names quick fix.

后续步骤

有关 Linter 的详细信息,请参阅使用 Bicep Linter