本文最后更新于:2021年12月24日 下午
速览表格
标签列表
标签 |
简介 |
param |
参数 |
returns |
返回值 |
example |
示例 |
test |
测试代码 |
class |
类定义 |
property |
类属性定义 |
语法列表
语法 |
简介 |
{T} |
类型 |
{T,R} |
多个类型 |
[] |
可选值 |
[arg=v] |
默认值 |
.<T> |
泛型 |
obj.property |
对象参数 |
function(T):R |
函数参数 |
标签
param
1 2 3 4 5 6 7
|
function print(obj) { console.log(obj) }
|
returns
1 2 3 4 5 6 7
|
function random() { return Math.random() }
|
example
1 2 3 4 5 6 7 8 9 10
|
function random() { return Math.random() }
|
test
1 2 3 4 5 6 7 8 9 10
|
describe('测试 random 函数', () => { it('测试两次随机数是否相等', () => { const i = random() const k = random() expect(i).not.toBe(k) }) })
|
class
property
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
class Vue {
constructor({ el, data = {}, methods = {}, mounted = function() {} } = {}) { this.el = el this.data = data this.methods = methods this.mounted = mounted } }
|
语法
{}
1 2 3 4 5 6 7 8 9
|
function add(i, k) { return i + k }
|
{T,R}
1 2 3 4 5 6 7 8 9
|
function add(i, k) { return i + k }
|
[]
使用场景: 可选参数不需要在函数中所有条件下使用
例如下面的 sep
在不传入时会默认返回 [str]
,一般优先使用 [arg=v]
更好
1 2 3 4 5 6 7 8 9
|
function split(str, sep) { return sep ? str.split(sep) : [str] }
|
[arg=v]
使用场景: 需要为传入的参数赋予默认值
注: 太过冗长的默认值最好使用文件描述而非加到 []
中
例如下面的函数参数 sep
,如果想要在不传入的时候默认为 ''
,就需要使用默认值标记。
1 2 3 4 5 6 7 8 9
|
function split(str, sep = '') { return str.split(sep) }
|
.<T>
使用场景: Array, Map, Set, Iterator
这中集合接口/类限定元素类型,也有 Promise
这种内嵌其他类型异步结果的情况
例如下面的集合就声明元素全部都需要为 String
,Object
的话可能出现 [object Object]
这种内容
1 2 3 4 5 6 7 8
|
function join(arr) { return arr.join(',') }
|
obj.property
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
function Vue({ el, data = {}, methods = {}, mounted = function() {} } = {}) { this.el = el this.data = data this.methods = methods this.mounted = mounted }
|
function(T):R
1 2 3 4 5 6 7 8 9
|
export function flatMap(arr, fn) { return arr.reduce((res, item) => res.concat(fn(item)), []) }
|