Javascript 对于if语句之后的in语句
我对js/ts有点陌生,最近看到一些代码如下所示:Javascript 对于if语句之后的in语句,javascript,typescript,Javascript,Typescript,我对js/ts有点陌生,最近看到一些代码如下所示: if (m.attributes) for (const aName in m.attributes) { ... } if (m.attributes){ for (const aName in m.attributes) { ... } } 我希望如果验证m.attributes不是错误的(即它不是null |未定义),那么for语句本质上就是m.attributes 有人能解释一下为什么for语句不在它自己
if (m.attributes) for (const aName in m.attributes) {
...
}
if (m.attributes){
for (const aName in m.attributes) {
...
}
}
我希望如果验证m.attributes
不是错误的(即它不是null |未定义),那么for
语句本质上就是m.attributes
有人能解释一下为什么for
语句不在它自己的范围内吗?
我希望语法看起来更像这样:
if (m.attributes) for (const aName in m.attributes) {
...
}
if (m.attributes){
for (const aName in m.attributes) {
...
}
}
如果if
语句后只有一条语句,则大括号是多余的。话虽如此,这:
if (m.attributes) for (const aName in m.attributes) {
...
}
虽然完全有效,但它不是一段编写良好的代码。通常,为了增加可读性,可以这样写:
if (m.attributes)
for (const aName in m.attributes) {
...
}
如果If
后面只有一条语句,{}
是不必要的。签出第一部分他们展示了单个语句的示例,然后描述了如何执行多个语句。Typescript遵循与JavaScriptPersonal相同的语法,我会添加多余的大括号,只是为了可读性。毫无疑问,我也会这样做。我只是简单地指出,如果必须使用无括号,那么在if
语句之后添加一行新行将有助于代码的可读性。