请问这是一种什么语法?

查看官方文档api时会经常看到如图的说明方式。但不知道具体意义。

请问在哪儿可以学习一下?
clipboard.png

我想知道它是根据什么规则这样写的?❤❤❤

阅读 3.4k
5 个回答
string|Array<string>

字符串或者是由字符串组成的数组

例如:

entry:{
    name:'foo'
}

entry:{
    name:['foo','bar','baz']
}

没猜错的话,同学你这是在啃webpack的入口文件配置 (滑稽

官网有个例子你去看下,一看了就明白了
https://webpack.js.org/config...

  entry: ["./app/entry1", "./app/entry2"],
  entry: {
    a: "./app/entry-a",
    b: ["./app/entry-b1", "./app/entry-b2"]
  }

一般约定俗称的描述规则方法,不同文档有所差异,但一般会给出具体的解释,仔细看文档,都会有解释的。
通常 <> 包围表示某种类型的数据,比如
<string> 是字符串,
<number>是数字,但根据具体文档有不同限定,比如有时是不能取负的
| 就是“或”的意思,<string> | <number> 是一个字符串类型的值或数字类型的值
[] 是可选项, 比如 webpack [options] ,这个options可以是文档给定的可选的任意参数。
{} 一般代表重复几次,不过根据文档也要具体分析,描述CSS语法规则中常出现
:有解释说明的作用
这里 entry: {[entryChunkName: string]: string|Array<string>}
[entryChunkName: string] 这是给定的entry的属性名中某一个,比如app,vendors等属性, :string 表示这个属性名必须是一个字符串类型, string|Array<string> 就代表这个属性值必须是字符串或者字符串组成的数组。
举个例子: webpack <entry> [<entry>] <output> 这条命令
<entry> 代表文件名或者文件名的集合,可以是a.txt,也可以是b.html等等,具体规则看文档解释,
[<entry>] 代表这个位置的参数是可选的,要么不填,如果写的话必须是文件名或者文件名的集合
<output> 代表输出的内容,文档中解释,是生成打包文件的路径及文件名,那么这个位置你必须要填文件的路径及文件名

这个应该是后台提供给前端的接口,前端解析拿到的数据吧。就是一个json字符串,里面包一个jso数组。我觉得应该含前端的知识以及json数据解析知识。

这个从语义上面理解就好了吧。。。虽然我之前没有看过这种文档。。
先理解[extryChunkName: string]这个,这就是常见的如果对象的属性是一个变量,就用[变量]的形式来表示,string是指这个变量的类型,冒号后面的就是值,可以是string类型,也可以是array类型,如果是array类型的话,那么数组里面的项都是string类型。。。
举个例子:

var a = "name"
entry: {
    [a]: "tom"
}
var a = "people"
entry: {
    [a]: ["tom", "tim", "jim", "jerry"]
}

这是从 C++ 模板或者 Java 泛型借鉴过来的表示方式,这里代表这个数组里放的都是 string 变量。Typescript 或者 Flow 都有这样的表示方式。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题