Javascript 为什么手柄使用点括号表示法按索引访问数组?
Handlebars是一个JS库,为什么它在数组索引值之前需要一个点,例如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.[
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语法。我可能错误地将其称为库而不是预处理器,但是我仍然不明白使用这个“点括号”符号的设计选择这正是我想要的答案。非常感谢你的评论和解释。这正是我想要的答案。非常感谢您的评论和解释。