前端对象追加属性

JS追加属性值

  1. 用中括号包裹字符串
const data={};
data['name'] = "小明";
const class= 'class';
data[class] = "一年级";
  1. 直接为对象指明key属性
data.event = "打游戏";

第一种适用于方法封装
第二种适用于对象接收和定义

TS追加属性值

  1. 声明接口
export interface Response {
  //查询对象
  searchTarget: string;
  //判断符
  conjunction: string;
  //查询参数
  //equals greater less...
  searchContent?: string;
  //in between...
  searchContents?: string[];
}
  1. 定义接收参数
const getSearchParam = (
  searchTarget: string,
  conjunction: string,
  content: string | string[]
) => {
   //这里需实现接口,并在接口中声明附加属性的参数
  const searchParam: searchParam = {
    searchTarget: searchTarget,
    conjunction: conjunction,
  };
  if (typeof content == "object") searchParam["searchContents"] = content;
  else searchParam["searchContent"] = content;
  return searchParam;
};

注:当定义参数不符合接口中的参数或不实现接口时,会报TS7053: Element implicitly has an 'any' type because expression of type '"searchContents"' can't be used to index type '{ searchTarget: string; conjunction: string; }'. Property 'searchContents' does not exist on type '{ searchTarget: string; conjunction: string; }'.,ts会找不到该属性的类型,这种写法不影响运行结果但不规范,不建议这么写

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值