this.flag = (this.userInfo != null || undefined) ? true : false
时间: 2024-03-20 21:39:36 浏览: 90
这段代码的意思是:如果 `this.userInfo` 不为 null 或 undefined,则将 `this.flag` 的值设置为 true,否则将其设置为 false。
需要注意的是,条件表达式中的 `||` 运算符的优先级比 `!=` 和 `!==` 高,因此需要加上括号。如果不加括号,条件判断的结果可能会出现意外的错误。另外, `undefined` 不需要和 null 一起判断,因为它本身就是一种特殊的数据类型。
因此,这段代码可以简写为:
```js
this.flag = this.userInfo != null ? true : false;
```
或者更简洁地写成:
```js
this.flag = !!this.userInfo;
```
其中 `!!` 表示将任意值转换为布尔值,两个叹号将其转换为对应的布尔值,相当于进行了一次类型转换。
相关问题
async getList() { this.finished = false; this.loading = true; const data = await this.$axios.post( "/tax/temp/wechat/contract/queryOverSign", { openId: this.userInfo.openId, page: { page: this.pageNo, }, } // { // headers: { // ssessionid: sessionStorage.getItem("sessionId"), // }, // } ); if (data.success) { const { list, total, pages } = data.data; this.list = [...this.list, ...list]; this.total = total; if (this.pageNo < pages) { this.pageNo++; } else { this.finished = true; } } this.loading = false; this.showLoading = false; },这个接口中会把传参变为page%5Bpage%5D=1这种格式,前端传参该如何保证传参格式还是为json
在前端传参时,可以使用 `params` 参数来保证传参格式为 JSON。修改代码如下:
```javascript
const data = await this.$axios.post(
"/tax/temp/wechat/contract/queryOverSign",
{
openId: this.userInfo.openId,
page: {
page: this.pageNo,
},
},
{
params: {
"Content-Type": "application/json",
},
}
);
```
这样就能保证传参格式为 JSON,而不会被转换为 `page%5Bpage%5D=1` 这种格式。
优化一下这段代码, if (this.userInfo.admin === false && this.userInfo.officeId === this.editId) { this.event.emit({ 'parentId': '' }); }else{ this.event.emit({ 'parentId': this.parentId }); }
) {
console.log("Sorry, you are not authorized to access this page.");
}
可以改写成:
if (!this.userInfo.admin) {
console.log("Sorry, you are not authorized to access this page.");
}
这样更简洁明了,也更符合 JavaScript 的语法规范。
阅读全文