javascript - javascript中括号内的花括号是什么意思?
问题描述
我对 javascript 比较陌生,我正在学习 VueJS。当启动一个新的 vue 对象时,我意识到代码类似于:
new Vue({
el: ‘#app’,
data: {
title: ‘hello World’
}
});
我从使用 js 对象中了解到,我们可以使用花括号来启动对象,如下所示:
var car = {
type: "Fiat",
model: "500",
color: "white"
};
而且我也知道括号用于函数,我们可以在括号内使用花括号,如下所示:
connect({ name: "testing" });
但是 vue 中的下一个符号让我感到困惑,因为我知道 vue 是一个对象而不是一个函数,所以我不知道为什么会有括号,有人可以向我澄清这部分:
new Vue({});
谢谢..任何回复表示赞赏
解决方案
是的 - 与您在此处的用法相同:
connect({ name: "testing" })
new
表示一个构造函数,它像函数一样被调用,所以你使用括号。并且 Vue 构造函数需要一个对象,它由花括号表示。所以这:
new Vue({})
意味着您没有向 Vue 构造函数传递任何选项。
如果您对 Vue 为什么“不是函数”感到困惑,那是因为使用new
类名会构造该类的实例。如果你使用的是 ES5 风格的构造函数:
function Construction(option) {
this.option = option;
}
然后很明显这是如何发生的。类构造函数略有不同,但它们的创建方式没有任何区别——就像函数调用一样。和任何函数一样,你可以传递一个对象。
推荐阅读
- r - 在 igraph 中绘制网络的问题
- c++ - PCL 中的这些 boost 共享指针初始化是否不同?
- rest - SharePoint Online:尝试使用 SharePoint 应用程序中的 AadHttpClient 连接到受 Azure AD 保护的 .Net Core API 时出现问题
- php - 在 Symfony 4 中通过 Ajax 更改区域设置后的渲染视图
- c - 在单机上编译C并在集群上使用
- oracle - MYSQL - 如何反透视我的数据以获得以下输出?
- ruby-on-rails - 使用循环将一个数组从语言环境 yml 文件输出到 erb?
- cassandra - 如何在 presto 中将 varchar 转换为 MAP(VARCHAR,VARCHAR)
- python - 为什么我的置换检验分析曲线不平滑?
- arrays - 从数组 MIPS 中获取偶数的总和(从 1 到 10)