没有收到 JS 对象中字段的错误

Not receiving error for field in JS object

我创建了一个虚拟数组数据库,这是

 const movies =   {
    _id: "5b21ca3eeb7f6fbccd471816",
    title: "Die Hard",
    genre: { _id: "5b21ca3eeb7f6fbccd471818", name: "Action" },
    numberInStock: 5,
    dailyRentalRate: 2.5
    },

电影数组中没有 liked :true 但是当我映射它时我添加了 movie.liked 它没有给我任何错误为什么?

{this.state.movies.map((movie) => (
<tr key={movie.id}>
<td>{movie.title}</td>
<td>{movie.genre.name}</td>
<td>{movie.numberInStock}</td>
<td>{movie.dailyRentalRate}</td>

<td> <Like liked={movie.liked} onClick={() =>this.handleLike(movie)}/> </td>

 <td
    onClick={() => this.handleDelete(movie.id)}
    className="btn btn-danger btn-outline-warning btn-sm active "
    >
    Remove
    </td>
    </tr>

))}

如果您使用的是 Typescript,它会捕捉到这一点并显示错误。

虽然使用纯 JS,但未定义的字段,如 movie.liked,将在访问时解析为 undefined

然后 undefined 作为 prop 传入,如果您稍后在该组件中使用它,它将像 false 一样工作。