美文网首页
阅读TS文档中的一些疑问

阅读TS文档中的一些疑问

作者: 吴晗君 | 来源:发表于2019-08-02 13:31 被阅读0次

为什么有了抽象类(abstract)还需要接口(Interface),他们的区别有哪些?

因为抽象类做为其它派生类的基类使用,是基础,是类别。比如界门纲科目属种。而接口是功能的集合,表示要事先预定的功能。接口中的方法都是描述而不能实现,抽象类可以。子类只能有(extends)一个父类,而可以实现(implement)多个接口。

复习下老知识,继承分为哪几步?

  1. 继承父类上的静态属性和静态方法
通过setPrototypeOf(Child, Parent)
  1. 继承父类上的原型属性和原型方法
通过Child.prototype = Object.create(Parent.prototype, {
constructor: Child
})
  1. 继承父类上的实例属性和实例方法
通过在子类构造函数中call或者apply父类。

私有属性是啥,可以被继承吗?

私有属性只能在父类中使用,不能在自己的实例和子类中使用。按规范不可以被继承。

重载在js中的实现?

function double(a:number):number {}
function double(a:string):string {}
function double (x:any){
if  () {
  return 2 * x
} else {
return x+ x
}
}
double(1)
double('aaa')

继承VS多态

子类继承了父类,子类中有更具体的实现。
多个子类继承同一父类,就产生了相关性,对同一个方法有不同的实现就称为多态。

如何描述一个对象的key?

如果要符合条件,必须在函数形参的key中写key:'name'|'age',而不能简单地写string,否则会报错Element implicitly has an 'any' type because expression of type 'string' can't be used to index type 'Person'. No index signature with a parameter of type 'string' was found on type 'Person'.,可以用keyof拿到Person接口中的属性名称,来作为准确描述

interface Person {
  name: string,
  age: number
}
type K = keyof Person
function attr (obj:Person, key:K) {
  return obj[key]
}
let p3:Person = {name:'asd', age: 12}
attr(p3, 'age')

如何在项目中用ESLINT约束常见错误?

.eslintrc.js

module.exports = {
  "parser":"@typescript-eslint/parser",
  "plugins":["@typescript-eslint"],
  "rules":{
      "no-var":"error",
      "no-extra-semi":"error",
      "@typescript-eslint/indent":["error",2]
  },
  "parserOptions": {
      "ecmaVersion": 6,
      "sourceType": "module",
      "ecmaFeatures": {
        "modules": true
      }
  }
}

安装VS Code插件Eslint
在全局或者项目setting.json中配置

{
  "eslint.autoFixOnSave": true,
  "eslint.validate": [
      "javascript",
      "javascriptreact",
      {
          "language": "typescript",
          "autoFix": true
      },
       {
          "language": "typescriptreact",
          "autoFix": true
      }
  ]
}

相关文章

  • 阅读TS文档中的一些疑问

    为什么有了抽象类(abstract)还需要接口(Interface),他们的区别有哪些? 因为抽象类做为其它派生类...

  • typescript

    typescript官方文档ts中文文档,版本稍滞后初始化TS项目在终端中输入tsc --init:它是一个Typ...

  • TS报错: error TS1056: Accessors ar

    最近在学习TS,根据文档介绍 官方文档中的这句话似懂非懂的后果就是显示在使用tsc命令编译TS文件的时候报错如下 ...

  • TS 官方文档

    文档地址 https://www.tslang.cn/docs/handbook/typescript-in-5-...

  • TypeScript的索引类型与映射类型,以及常用工具泛型的实现

    相信现在很多小伙伴都在使用 TypeScript(以下简称 TS),在 TS 中除了一些常用的基本类型外,还有一些...

  • PDF阅读器也能免费翻译?太好用了!

    在日常办公中,我们经常需要使用PDF阅读器阅读PDF文档,特别是对于一些外文的文档,阅读的时候如果能直接划词翻译就...

  • [Egret] 如何生成 .d.ts

    防止原文档失效,转自egret文档 《如何生成 .d.ts》 一直以来,有不少开发者对于如何写自己的 “.d.ts...

  • Ts‖Ts的阅读指南

    今天读太傻天书太傻对话录1-2学习的指南。读完后我有一些个人的感想,仅代表我自己的观点。 Ts这种状态有些似“可遇...

  • Ts Day1

    官网文档链接 typescript是javascript的超集,所以js能干的是ts都能干。ts简单理解无非就是加...

  • [Egret] 第三方库的使用方法

    防止原文档失效,转自egret文档《第三方库的使用方法》 问题点:在生成完 .d.ts 文件后,Egret 中能直...

网友评论

      本文标题:阅读TS文档中的一些疑问

      本文链接:https://www.haomeiwen.com/subject/xrbkrctx.html