定义文件:属性的多种可能类型

2024-06-06

我正在为现有的 JS 库(CKEditor)编写一些定义。是否可以更具体toolbar: any?

文档:

工具栏:数组/字符串

工具箱(别名工具栏)定义。它是工具栏名称或 工具栏(条)数组,每个工具栏也是一个数组,包含一个 UI 项目列表。

库代码:

var toolbar = editor.config.toolbar;

// If it is a string, return the relative "toolbar_name" config.
if ( typeof toolbar == 'string' )
    toolbar = editor.config[ 'toolbar_' + toolbar ];

return ( editor.toolbar = toolbar ? populateToolbarConfig( toolbar ) : buildToolbarConfig() );

Typescript 1.4 现在支持联合类型

当然,您仍然需要检查函数内部的值并做出相应的反应,但是现在您可以进行编译时检查,而无需将类型更改为any.

function f(x: number | number[]) {
  if (typeof x === "number") {
    return x + 10;
  }
  else {
    // return sum of numbers
  }
}

http://blogs.msdn.com/b/typescript/archive/2015/01/16/announcing-typescript-1-4.aspx http://blogs.msdn.com/b/typescript/archive/2015/01/16/announcing-typescript-1-4.aspx

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

定义文件:属性的多种可能类型 的相关文章

随机推荐

  • Matlab PARFOR 循环可以通过编程方式打开/关闭吗?

    有一个关于 MATLAB 中 parfor 的简单问题 我想在程序中设置一个标志 以便在 parfor 和常规 for 循环之间进行更改 基本上 我需要此功能 以便我的代码的某些部分可以在 调试 模式下更新图形 然后当关闭该标志时 使用 p
  • 为 XStream 中非 XML 的字段设置默认值

    有没有办法创建一个转换器或在每次转换后执行一些操作 对于上下文 我尝试填充不在 XML 中的字段的默认值 以便在数据模型发生更改时保持向后兼容性 例如 如果我有这个对象 class A private String b private St
  • Twitter api 对于已删除的推文总是给出“抱歉,该页面不存在”错误

    我正在使用 twitter api 和 OAuth 当我尝试检查使用此 API 发送的推文时 如果推文存在 则 API 工作正常 但如果我删除了通过 API 发布的推文 推文检查响应总是给我 message gt Sorry that pa
  • VSCode - 我可以更改截屏视频的字体/高度吗?

    是否可以更改截屏视频的字体 高度 我在设置里找不到它 以下是与截屏模式相关的可用设置的更新列表 自 v1 63 起 The Timeout Color and Mouse Indicator Size从 v1 49 开始是新的 The co
  • Python Heroku 上的 Zombie SharedDataMiddleware

    我正在 Heroku 上设置 Flask 应用程序 一切工作正常 直到我添加静态文件 我正在使用这个 from werkzeug import SharedDataMiddleware app Flask name app wsgi app
  • 为什么这会抛出未定义的异常?

    var x var y x forEach y push 3号线将抛出Uncaught TypeError Array prototype push called on null or undefined如果 x 非空 var x 1 va
  • 仅获取 UserInfoEndpoint 中的 sub

    我只是关注上面的内容guide https docs wso2 com display IS520 Basic Client Profile with Playground 我已经填充了用户的个人资料信息 但到目前为止我只得到sub 我想要
  • 了解 CMake 背后的目的[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我试图理解 CMake 背后的目的 为什么它被设计成现在这样 以下是我想回答的一些问题 为什么CMake会生成生成文件 https e
  • 在Python中读取XML文件并获取其属性值

    我有这个 XML 文件
  • pick_event 使用 matplotlib 获取点

    我正在尝试使用pick event通过单击鼠标直接访问点的精确值 def plot self x values list y values list def pick handler event x y event mouseevent x
  • 如何查找包含nunit测试的dll文件

    我有一个包含许多 dll 的文件夹 其中之一包含 nunit 测试 标有 Test 属性的函数 我想从 C 代码运行 nunit 测试 有什么办法可以找到正确的dll吗 谢谢 您可以使用程序集加载文件 http msdn microsoft
  • Nexus One / Android“CPU 可能被固定”错误

    我正在使用 NDK 修订版 4 和 OpenGL ES 2 0 为 Nexus One 编写一款图形密集型游戏 我们真的在这里推动硬件 并且在大多数情况下它运行良好 除了偶尔我会因以下日志消息而严重崩溃 W SharedBufferStac
  • 延迟的作业更新查询正在无限运行

    我在 Rails 应用程序中使用delayed job 和delayed job active record 来执行后台作业 我们正在使用基于队列的delayed job 为了启动延迟 我使用以下命令 RAILS ENV staging s
  • 无法使用wix工具集创建postgresql数据库

    我正在尝试使用 Wix ToolSet 在 PostgreSQL 中创建数据库 但总是收到错误 错误 2147467259 无法创建 SQL 数据库 pontow 错误详细信息 未知错误 当我尝试创建数据库或错误 无法连接到 SQL 数据库
  • 如何在javascript中显示目录中的所有图像?

    我想在 javascript 的帮助下动态显示目录中的所有图像 我怎样才能做到这一点 我不认为这是可能的 但如果您向 ASP NET 或 PHP 或类似 页面发出 AJAX 请求 它们可以列出文件夹中的文件并将其返回以供 Javascrip
  • 从主题获取 EditText 的“默认”颜色值

    我有一个Activity其中包含一个EditText关于 3 1 根据用户输入 我更改 EditText 中文本的颜色 红色表示错误 然后在文本正常时将其重置为黑色 其中一个问题涉及改变活动的整体主题 例如 将其从浅色主题更改为常规深色主题
  • Wamp 和 Magento 出现 500 内部服务器错误

    我被困在访问安装页面 似乎无法让它工作 它总是给我一个 500 Internal Server Error 错误 我研究了一些类似的问题解决方案 但它们不起作用 您在帖子评论中给出的错误应该会在经过一些搜索后引导您找到解决方案 问题是 Ma
  • 是否有可能在 Swift 中捕获 NSInternalInconsistencyException ?

    是否有可能在 Swift 中捕获 NSInternalInconsistencyException 如果是的话 那怎么办呢 例如可以通过以下方式完成https github com williamFalcon SwiftTryCatch h
  • 如何使用Python的Mysqldb模块?而不是 %s 作为查询参数?

    MySqlDb 是一个很棒的 Python 模块 但有一个部分非常烦人 查询参数如下所示 cursor execute select from Books where isbn s isbn 而已知宇宙中的其他地方 oracle sqlse
  • 定义文件:属性的多种可能类型

    我正在为现有的 JS 库 CKEditor 编写一些定义 是否可以更具体toolbar any 文档 工具栏 数组 字符串 工具箱 别名工具栏 定义 它是工具栏名称或 工具栏 条 数组 每个工具栏也是一个数组 包含一个 UI 项目列表 库代