Why doesn't obj.list & & obj.list.length first determine whether obj.list has a value and then report that length is not defined?

Why doesn"t RT:obj.list & & obj.list.length first determine whether obj.list has a value and then report that length is undefined?
so I always deal with it this way (I can probably understand why, but I don"t know the professional explanation)

{
    orderMsgJson0.list && orderMsgJson0.list.length ? [
        orderMsgJson0.list.map(item => (
            <p dangerouslySetInnerHTML={{ __html: formatNullStr(this.strReplace(item.senderMsg, `scm.html?tab=saleOrderDetail&orderId=${item.orderId}`)) }}>

)), <p className="person-more"><a href="-sharp">>></a>

] :

}
Mar.12,2021

1. If you do not judge whether list exists, take list. If list does not exist, an exception will be reported, causing the following code to fail to execute
2.map

.
MySQL Query : SELECT * FROM `codeshelper`.`v9_news` WHERE status=99 AND catid='6' ORDER BY rand() LIMIT 5
MySQL Error : Disk full (/tmp/#sql-temptable-64f5-1b38596-2c0eb.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
MySQL Errno : 1021
Message : Disk full (/tmp/#sql-temptable-64f5-1b38596-2c0eb.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
Need Help?