xgqfrms™, xgqfrms® : xgqfrms's offical website of cnblogs! xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!

TypeScript & Object Error

TypeScript & Object Error

Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'Object'.

Error


class StorageUtils {
  // [x: string]: Object;
  // key: string;;
  store: Object;
  constructor(store: object) {
    this.store = store;
  }
  setData(key: string = ``, data: object) {
    sessionStorage.setItem(key, JSON.stringify(data));
  }
  // string primitive
  getData(key: string = ``) {
    // this.store;
    const obj = JSON.parse(sessionStorage.getItem(key));
  }
  // String Object
  // getData(key: String = ``) {
  //   // this.store;
  //   const obj = JSON.parse(sessionStorage.getItem(key));
  // }
  clear(key: string) {
    delete this.store[key];
  }
  clearAll() {
    this.store = {};
  }
  init() {
    this.store = {};
  }
}

https://stackoverflow.com/questions/57086672/element-implicitly-has-an-any-type-because-expression-of-type-string-cant-b


OK

key keyof TypeObject

interface TypeObject {
  key: string;
}

class StorageUtils {
  // [x: string]: Object;
  store: TypeObject;
  constructor(store: TypeObject) {
    this.store = store;
  }
  setData(key: string = ``, data: object) {
    sessionStorage.setItem(key, JSON.stringify(data));
  }
  // string primitive
  getData(key: string = ``) {
    // this.store;
    const obj = JSON.parse(sessionStorage.getItem(key));
  }
  // String Object
  // getData(key: String = ``) {
  //   // this.store;
  //   const obj = JSON.parse(sessionStorage.getItem(key));
  // }
  clear(key: keyof TypeObject) {
    delete this.store[key];
  }
  clearAll() {
    this.store = {
      key: ``,
    };
  }
  init() {
    this.store = {
      key: ``,
    };
  }
}


TypeScript 2.1

keyof

https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-1.html#keyof-and-lookup-types


©xgqfrms 2012-2020

www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!


posted @   xgqfrms  阅读(216)  评论(4编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2019-02-15 Shopping Bands Rank & SBR All In One
2019-02-15 iframe & cors
2019-02-15 m3u8 player All In One
点击右上角即可分享
微信分享提示