假設我在 VSC 中撰寫了以下代碼:
let a = [1,2,3,4,5];
console.log(Math.max(...a))
如果您將滑鼠懸停在 上max,VSC 會給您它的定義為:
(method) Math.max(...values: number[]): number
Returns the larger of a set of supplied numeric expressions.
@param values — Numeric expressions to be evaluated.
定義截圖
什么(...values: number[]): number意思?這是否意味著它接受一個陣列并將其存盤為number[]內部呼叫的陣列?還有,是什么@param values意思?
uj5u.com熱心網友回復:
什么
(...values: number[]): number意思?
這使用了rest 引數語法,僅意味著所有引數的型別相同:number。函式的回傳型別也是number.
此語法value: type來自TypeScript。
這是否意味著它接受一個陣列并將其存盤為
number[]內部呼叫的陣列?
如果您要Math.max使用此簽名來實作自己,那么是的,傳遞給函式的所有引數都將存盤在名為 的變數中values,該變數將是一個數字陣列。
還有,是什么
@param values意思?
這是JSDoc語法,它指的是一個函式引數。
uj5u.com熱心網友回復:
什么
(...values: number[]): number意思?
這意味著它是一個函式,可以接受任意數量的數字,每個數字作為單獨的引數(即,您可以呼叫Math.max(1, 2)、 或Math.max(1, 2, 3, 4, 5, 6)等),并回傳一個數字
這是否意味著它接受一個陣列并在內部將它存盤為一個名為 number[] 的陣列?
不,它沒有說明內部實作,也不需要涉及陣列。它只是告訴你如何使用這個功能
還有,是什么
@param values意思?
對于人類來說,它只是意味著“這個函式需要一個名為values”的引數。一些自動化工具查找關鍵字@param作為一部分JSDoc
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/395449.html
標籤:javascript
