如何正确访问 object 值

How to access object value properly

我已经通过控制台日志检查了 object 的值,如下所示:

if (isConfirm) {
   console.log(isConfirm); // first condition
}else{
   console.log(isConfirm); // second condition
}

第一个条件显示object是这样的:

{value: true}
value: true
[[Prototype]]: Object

第一个条件结果

第二个条件 显示 object 是这样的:

{dismiss: "cancel"}
dismiss: "cancel"
[[Prototype]]: Object

第二条件结果

所以问题是,如何在每个条件下正确访问 isConfirm object 的值?

我试过像这样访问第一个条件值:

if (isConfirm === true) {
    console.log("RETURNS TRUE");
}

但这是错误的,因为 RETURNS TRUE 不会在控制台打印出来。

那么在这种情况下访问 object 值的正确方法是什么?

试试这个方法

swal({
              title: "Are you sure?",
              text: "You want to delete this file!",
              icon: "warning",
              buttons: [
                'No, cancel it!',
                'Yes, I am sure!'
              ],
              dangerMode: true,
            }).then(function(isConfirm) {
              if (isConfirm) {
                swal({
                  title: 'Deleted!',
                  text: 'Candidates are successfully Deleted!',
                  icon: 'success'
                }).then(function() {
                  form.submit();
                });
              } else {
                swal("Cancelled", "Your file is safe :)", "error");
              }
            });

您的 isConfirm 对象在第一个条件中返回一个不同的对象,然后它在第二个条件中返回:

这是你需要做的:

if(isConfirm.value !== undefind && isConfirm.value === true ) {
  console.log("RETURNS TRUE")
}

第一个条件:isConfirm.value !== undefined 检查至少 value 对象在第一个条件下存在,因为在第二个条件下,它根本不存在

下一个条件是检查它是否为真。

一个优化的方式是:

if( isConfirm.value )

一次性完成以上两项检查。

不能直接对对象内部的值进行操作。需要访问内部值,根据您的声明,您可以使用 isConfirm.value 而不是 isconfirm 访问该值,并在此基础上设置 if...else 条件。