代码之家  ›  专栏  ›  技术社区  ›  Rohit Gupta

typescript中重载参数的命名约定

  •  0
  • Rohit Gupta  · 技术社区  · 8 年前

    我需要一个函数,它将参数作为字符串或字符串数组。

    delete(keyOrKeys : string | string[]){
       if(Array.isArray(keyOrKeys){
         // delete all keys in array
       } else {
         // delete single key.
       }
    }
    

    所以,我需要遵循好的命名约定。我应该用什么名字来代替“keyorkeys”。或者只是很好?

    2 回复  |  直到 8 年前
        1
  •  2
  •   Cerberus    8 年前

    如果使用实际重载(不仅仅是一个实现)为此函数创建定义,则可以独立地为每个重载命名参数,例如:

    delete(key : string): void; // or whatever you are returning
    delete(keys : string[]): void;
    // this is useful for calling inside another function with union parameter
    delete(keyOrKeys : string | string[]): void;
    
    delete(keyOrKeys : string | string[]){
       if(Array.isArray(keyOrKeys){
         // delete all keys in array
       } else {
         // delete single key.
       }
    }
    
        2
  •  1
  •   Lasitha    8 年前

    首先 delete 是JS中的保留关键字。使用 deleteKeys 也许吧。