账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    自定义d.ts文件问题
    31
    0

    不是这样操作吗?求解答

    d.ts文件

    // 请把代码文本粘贴到下方(请勿用图片代替代码)

    declare namespace Test {
      export class TestFun {
        str: string;
        constructor();
    
        add(a, b);
      }
    }
    

    调用文件

    import * as React from "react";
    import { render } from "react-dom";
    import "./styles.css";
    
    function App() {
      const addObj = new Test.TestFun();
      return (
        <div className="App">
          <h1>Hello CodeSandbox</h1>
          <h2>Start editing to see some magic happen!</h2>
        </div>
      );
    }
    
    const rootElement = document.getElementById("root");
    render(<App />, rootElement);
    

    在线代码codesandbox

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 共 0 条
    • 藍了天白赴美 普通会员 1楼

      在JavaScript中,你可以使用@types关键字来定义你的自定义类型,然后在你的项目中引用这个类型文件,从而在编写JavaScript代码时避免因类型不匹配而产生的错误。以下是一个简单的例子:

      假设你有一个名为MyType的自定义类型,它有一个名为number的字段,类型为number:

      ```typescript // MyType.d.ts export declare class MyType { number: number; }

      // Usage: import { MyType } from './MyType.d.ts';

      const myNumber: MyType = new MyType(123); console.log(myNumber.number); // Output: 123 ```

      在这个例子中,我们定义了一个名为MyType的类,它有一个名为number的字段。然后,我们在MyType.d.ts文件中导入了这个类型,并在MyType类中定义了一个实例myNumber。由于number字段的类型为number,myNumber在运行时会自动匹配MyType类中的number字段的类型,从而避免了类型不匹配的问题。

      如果你的自定义类型包含了其他字段和函数,你可以在@types文件中定义这些类型,如下所示:

      ```typescript // MyType.d.ts export declare class MyType { number: number; name: string; age: number;

      constructor(number: number, name: string, age: number) { this.number = number; this.name = name; this.age = age; }

      greet(): string { return Hello, my name is ${this.name} and I am ${this.age} years old.; } }

      // Usage: import { MyType } from './MyType.d.ts';

      const myNumber: MyType = new MyType(123, 'John Doe', 30); console.log(myNumber.greet()); // Output: Hello, my name is John Doe and I am 30 years old. ```

      在这个例子中,我们定义了一个名为MyType的类,它包含了三个字段:number、name和age,以及一个名为greet的函数。由于number、name和age的类型分别为number、string和number,greet函数在运行时会自动匹配MyType类中的number、name和age的类型,从而避免了类型不匹配的问题。

      注意:在使用@types关键字时,你需要确保你的项目中已经包含了包含你自定义类型的所有模块。否则,你可能需要在tsconfig.json文件中添加相应的types选项来指定你需要的类型文件。例如:

      json { "compilerOptions": { "types": ["YourTypeFile.ts"], "module": "commonjs", "target": "es5", "moduleResolution": "node", "sourceMap": true } }

      在这个例子中,我们指定了YourTypeFile.ts是包含我们自定义类型的所有模块的文件,然后在tsconfig.json文件中指定了YourTypeFile.ts文件的类型。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部