亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

檢查 Javascript(或框架)中字段是否存在的正確方法?

檢查 Javascript(或框架)中字段是否存在的正確方法?

LEATH 2023-07-29 15:29:51
我想這一般適用于所有 JS,但是重寫此計算方法以確保在字段不可用時不會失敗的正確方法是什么?computed() {   isVerified() {        return this.name.info.is_valid;   }}我可以做到,但會很羅嗦:computed() {   isVerified() {        if (this.name && this.name.info && this.name.info.is_valid) {           return true;        } else {           return false;        }   }}
查看完整描述

1 回答

?
冉冉說

TA貢獻1877條經驗 獲得超1個贊

將可選鏈接與無效合并運算符相結合似乎適合您的情況。

computed() {

? isVerified() {

? ? return this.name?.info?.is_valid ?? false;

? }

}

如果this.name、this.name.info或中的任何一個this.name.info.is_validnullundefined,isVerified則返回false(布爾值)。否則,它返回 的當前值this.name.info.is_valid,無論它是什么(包括除null或 之外的任何錯誤值undefined。即:0,?'',?NaN)。


請記住,目前以下瀏覽器列表不支持這兩個運算符:

  • IE瀏覽器

  • 安卓版火狐瀏覽器

  • 安卓版歌劇

  • 三星互聯網

請注意最新的 Vue 2 (?v2.6.11) 用法:這兩個運算符僅在組件內部工作(方法、計算、鉤子等),但如果直接在模板中使用,它們會出錯。

尚未在 Vue 3 中進行測試,但我希望它們能夠工作(從v3.7開始它們是有效的 TypeScript 運算符)。

對于純粹主義者來說,這里是輸出

function isValid(name) {

? return name?.info?.is_valid ?? false;

}

...在巴別塔:


"use strict";


function isValid(name) {

? var _name$info$is_valid, _name$info;


? return (_name$info$is_valid = name === null || name === void 0

? ? ? ? ? ? void 0

? ? ? ? ? : (_name$info = name.info) === null || _name$info === void 0

? ? ? ? ? ? ? void 0

? ? ? ? ? ? : _name$info.is_valid

? ? ? ? ?) !== null && _name$info$is_valid !== void 0

? ? ? ? ? ? _name$info$is_valid

? ? ? ? ? : false;

}


查看完整回答
反對 回復 2023-07-29
?
森林海

TA貢獻2011條經驗 獲得超2個贊

javascript 在你的前兩個變量中是很好的和布爾值,但是你在你的 is_valid 函數中引用了 django 嗎?


    if (this.name && this.name.info && this.name.info.is_valid) {

       return true;

    } else {

       return false;

    }


查看完整回答
反對 回復 2023-07-29
  • 1 回答
  • 0 關注
  • 156 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號