Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么手柄使用点括号表示法按索引访问数组?_Javascript_Arrays_Handlebars.js - Fatal编程技术网

Javascript 为什么手柄使用点括号表示法按索引访问数组?

Javascript 为什么手柄使用点括号表示法按索引访问数组?,javascript,arrays,handlebars.js,Javascript,Arrays,Handlebars.js,Handlebars是一个JS库,为什么它在数组索引值之前需要一个点,例如 data.array.[0] 而不是 data.array[0]handlebar.js是胡须库的增强版。我猜它在解析时使用了与Mustache类似的语法,所以这个点符号一定是从那里来的。handlebar.js是Mustache库的增强版。我猜它在解析时使用了与Mustache类似的语法,所以这个点符号一定是从那里来的。方括号是“”: 要引用无效标识符的属性,可以使用段文字表示法: {{#each articles.[

Handlebars是一个JS库,为什么它在数组索引值之前需要一个点,例如
data.array.[0]
而不是
data.array[0]

handlebar.js
胡须库的增强版。我猜它在解析时使用了与
Mustache
类似的语法,所以这个点符号一定是从那里来的。

handlebar.js
Mustache
库的增强版。我猜它在解析时使用了与
Mustache
类似的语法,所以这个点符号一定是从那里来的。

方括号是“”:

要引用无效标识符的属性,可以使用段文字表示法:

{{#each articles.[10].[#comments]}}
 <h1>{{subject}}</h1>
 <div>
   {{body}}
 </div>
{{/each}}
{{{#每篇文章[10].[#评论]}
{{subject}}
{{body}}
{{/每个}}
如您所见,您可以使用方括号“引用”标识符,该标识符作为表达式路径中的裸标识符可能有问题,如
#comments
。这类有问题的标识符还包括当它们位于路径末尾时为整数(如数组索引)的标识符;看

至于为什么在对有问题的标识符(例如,
foo[#comments]
)使用方括号语法时,他们没有完全删除点,我不能肯定,但在可读性方面,确保路径段始终以句点分隔似乎是很好的一致性。

方括号是“”:

要引用无效标识符的属性,可以使用段文字表示法:

{{#each articles.[10].[#comments]}}
 <h1>{{subject}}</h1>
 <div>
   {{body}}
 </div>
{{/each}}
{{{#每篇文章[10].[#评论]}
{{subject}}
{{body}}
{{/每个}}
如您所见,您可以使用方括号“引用”标识符,该标识符作为表达式路径中的裸标识符可能有问题,如
#comments
。这类有问题的标识符还包括当它们位于路径末尾时为整数(如数组索引)的标识符;看


至于为什么他们在对有问题的标识符(例如,
foo[#comments]
)使用方括号语法时没有完全去掉点,我不能肯定,但在可读性方面,它确实看起来很好地一致,以确保路径的段始终由句点分隔。

它必须是JS的预处理器,因为这不是有效的JS语法。我可能错误地将其称为库而不是预处理器,但我仍然不理解使用此“点括号”符号的设计选择它必须是JS的预处理器,因为这不是有效的JS语法。我可能错误地将其称为库而不是预处理器,但是我仍然不明白使用这个“点括号”符号的设计选择这正是我想要的答案。非常感谢你的评论和解释。这正是我想要的答案。非常感谢您的评论和解释。