jjzjj

reflection

全部标签

javascript - TypeScript 不提供函数名称

我有一些typescript代码,我正在做一些元编程,我需要能够访问instance.func.name,但是TypeScript在编译的JS中省略了函数名称。typescript:classClassName{//...func():ReturnType{//...}}编译的JavaScript://...ClassName.prototype.func=function(){//...};所需的JavaScript:ClassName.prototype.func=functionfunc(){//...^^^^};是否有我缺少的编译器选项,或者我可以在TypeScript中使用的

javascript - ES6 Reflect API 的好处

我一直致力于升级一些代码以使用ES6语法。我有以下代码行:deletethis._foo;我的linter提出了一个使用建议:Reflect.deleteProperty(this,'_foo');您可以找到此方法的文档here.MDN文档声明:TheReflect.deletePropertymethodallowsyoutodeleteapropertyonanobject.ItreturnsaBooleanindicatingwhetherornotthepropertywassuccessfullydeleted.Itisalmostidenticaltothenon-stri

javascript - 给定一个任意的 javascript 对象,我如何找到它的方法?

我知道这在python中是可能的,但我能得到一个javascript对象的方法列表吗? 最佳答案 您可以遍历对象中的属性并测试它们的类型。for(varpropinwhatever){if(typeofwhatever[prop]=='function'){//dosomething}} 关于javascript-给定一个任意的javascript对象,我如何找到它的方法?,我们在StackOverflow上找到一个类似的问题: https://stackov

javascript - IE 中的 InnerHTML/outerHTML 不反射(reflect)复选框状态,但在怪癖模式下除外

我目前正在与一个IEJavaScript/DOM错误作斗争(这很有趣),它确实难倒了我。有问题的代码将一些复选框复制到一个表单中,并且需要维护它们的选中状态。问题是,IE(特别是IE8,虽然我猜其他人也是如此)不想这样做。我已将错误本身缩小到一个非常小的测试用例。基本上,页面上没有DOCTYPE时一切正常,但当存在DOCTYPE时它们会被破坏。我的预料恰恰相反,但谁知道IE。以下是最简单的测试用例。对于它们中的每一个:在IE中打开页面,切换复选框,然后单击“测试”。不产生错误:TESTdocument.getElementById('break').onclick=function()

javascript - 替代 arguments.callee

我有一个EventListener可以监听整个文档并记录击键,但我想在满足某些条件时删除此监听器。以下是我的代码片段:document.addEventListener('keyup',function(e){varletter_entered=String.fromCharCode(e.keyCode).toLowerCase();player.makeGuess(letter_entered);if(player.win_status===true||player.lose_status===true){document.removeEventListener('keyup',ar

javascript - 单选按钮需要点击两次才能反射(reflect)变化

1.每当我单击单选按钮时,它都会调用handleOptionChange回调,但不会反射(reflect)html中的更改。2.但是当我在单选按钮上点击两次时它反射(reflect)了变化Myquestioniswhyineedtoclicktwiceonradiobuttons?Isamidoinganythingwrong?classCompleteProfileextendsComponent{constructor(props){super(props);this.state={teacher_role:'subject'};this.handleOptionChange=th

go - 在 Go 中查找结构的底层匿名字段类型

我有这两个结构:typeCustomTimestruct{time.Time}typeEventsstruct{TimestampCustomTime}当我反射(reflect)Events.Timestamp的字段时,我得到CustomTime;我怎样才能得到实际的底层类型time.Time? 最佳答案 这是一个goplayground示例,展示了如何访问匿名字段。https://play.golang.org/p/yQULMVaQK0基本上,一旦您获得了结构的值,您就应该能够从字段0中获取时间值

unit-testing - 错误 : suite. go:61: test paniced: reflect: Call with too few input arguments

我正在golang中设置单元测试。但是现在我在运行gotest-v时遇到错误。我想解决这个错误并使测试成功。article├client├api│├main.go│├contoroller││├contoroller.go││└contoroller_test.go│├service││├service.go││└service_test.go│├dao││├dao.go││└dao_test.go│├s3││├s3.go││└s3_test.go│├go.mod│├go.sum│└Dockerfile├nginx└docker-compose.yml现在我正在为service.go设

optimization - 如何在 Golang 中获取指向任何数据类型值的字节指针?

我已经设法让以下函数在Go中运行。但是我想优化/概括代码,这样这个函数就会返回一个指向我传递给函数的任何值的第一个字节的指针。目前它只适用于[]uint32,但我想用它来获取起始内存地址作为许多其他类型(即byte[]、int[]、string等)的*byte。是否有更通用的方法来执行此操作,而不是将我需要处理的每一种类型都捕获为case语句?转到以下代码的Playground链接:https://play.golang.org/p/KtNTbERQGapackagemainimport("fmt""reflect""unsafe")funcToBytePointer(datainte

go - 如何在 golang 中创建结构运行时

例如,我有一个从外部获取的结构。我不知道字段和字段值中的结构。我想复制并使用相同的结构。通过反射(reflection),我找到了其中的字段和类型。但是如何在运行时中创建这个结构?编辑:我只想创建一个与运行时同名的结构。想象一下我不知道我的人类型。我只想通过接口(interface)反射创建相同的结构。我只知道一个接口(interface)。例如,我刚刚创建的Person结构。当一个人创建一个结构并将其发送出去时,我将创建它。而不是人、客户、学生等。您可以发送。将以下代码视为第3方库。packagemainimport("fmt""reflect")typePersonstruct{I