小编Chr*_*e55的帖子

JSDoc:如何指定除一种类型之外的任何类型

如何排除 JSDoc 中的类型?

在我的代码中,我构建了一个压平数组的函数。输入类型是Array<*>(填充任何内容的数组),但对于输出,我想排除 typeArray。但是,我在 JSDoc 文档中找不到@type有关排除类型的任何信息。

本质上我想要这样的东西:

@returns {Array<* except Array>}
Run Code Online (Sandbox Code Playgroud)

是否存在这种情况,或者我应该将其作为 JSDoc GitHub 存储库上的问题提出?

javascript documentation types jsdoc

5
推荐指数
0
解决办法
454
查看次数

为什么 instanceof 为 Javascript 中的子对象返回 false

我有扩展父类的子类。假设我从 Child 类中创建了一个新实例“child”。当我检查条件时child instanceof Child,它返回false。但是,child instanceof Parent返回 true。

为什么会这样?

编辑

所以我发现这只发生在我用 Error 类扩展 Child 类时。让我留下下面的代码示例。

class Child extends Error {
  constructor(message) {
    super(message);
  }
}
const ch = new Child();
console.log(ch instanceof Child);
Run Code Online (Sandbox Code Playgroud)

第二次编辑

class PullCreditError extends Error {
  public name: string;
  public message: string;
  public attemptsRemaining: number;
  constructor(message: string, attemptsRemaining: number) {
    super();
    Error.captureStackTrace(this, PullCreditError);
    this.name = 'PullCreditError';
    this.message = message;
    this.attemptsRemaining = attemptsRemaining;
  }
}
Run Code Online (Sandbox Code Playgroud)

javascript oop inheritance instanceof typescript

4
推荐指数
1
解决办法
2027
查看次数

Redux Toolkit 如何确定状态对象的属性名称?

import { createSlice } from '@reduxjs/toolkit'

export const countersSlice = createSlice({
    name: 'based? based on what',
    initialState: [0, 0, 0, 0],
    reducers: {
        updateCounter: (state, action) => {
            var id = action.payload.id
            var value = action.payload.value

            state[id] += value
        }
    }
})

export const { updateCounter } = countersSlice.actions

export const selectCount = id => state => state.counter[id]

export default countersSlice.reducer
Run Code Online (Sandbox Code Playgroud)

为什么在该selectCount行中,我必须使用state.counterwhen.counter没有在切片中的其他任何地方引用?我确实喜欢这样,.counter但我只是想了解它是如何产生该属性的。

javascript redux redux-toolkit

4
推荐指数
1
解决办法
927
查看次数

允许在 safari 上使用 audio.play() 进行聊天应用

由于 Apple 禁用了HTMLMedia?Element?.play() 在没有用户交互的情况下通过javascript自动播放音频的功能,我不确定当用户在页面加载后与 DOM 交互之前收到聊天消息时应该如何播放声音。

socket.on("receive message", data => {
  const receiveSound = new Audio("1.mp3");
  messages.push(data);
  receiveSound.play();
});
Run Code Online (Sandbox Code Playgroud)

我尝试在mousemove事件中播放音频元素。我还尝试click()通过 React ref 上的元素伪造 a以最初激活它。两种解决方案都不起作用。

如果有消息进来,有没有办法自动播放音频元素?这一定是可能的,因为 YouTube 可以在没有交互的情况下自动播放视频。

每次尝试播放音频时,都会出现此错误:

Unhandled Rejection (NotAllowedError): The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission.
Run Code Online (Sandbox Code Playgroud)

javascript safari macos ios html5-audio

3
推荐指数
1
解决办法
4444
查看次数

C++相当于Python'#'*数字?

是否存在等效的单行'#'*number,如果数字为4,那么表达式的输出是否为"####"C++?如果没有等效的单行,我想知道是否有任何快速方法可以做到这一点,不包括for循环.

注意:我正在使用C++ 14,在我正在使用的程序上我不能使用C++ 1z(17),所以没有C++ 1z的建议.

c++ python c++14

1
推荐指数
2
解决办法
111
查看次数

C++错误期望'{'标记之前的类名

我知道很多,其他很多人已经发布了这个但是我很迷茫,因为有很多人说前向声明和其他大量令人困惑的东西我似乎无法找到一种方法来使用而不会在我的编译器中出现新的错误所以如果有人能帮助我,将非常感激.

我在Ubuntu 15.04上使用Code :: Blocks

错误是 OptimizedSurface.h|11|error: expected class-name before ‘{’ token

在OptimizedSurface Header文件中我决定这样做,class OptimizedSurface : Game{因为在此错误之前我得到了

include/Game.h|18|error: invalid use of member ‘Game::windowSurface’ in static member function 该行是optimize_surface = SDL_ConvertSurface(surface,Game :: windowSurface-> format,0);

现在代码是以下文件.

main.cpp -

#include "Game.h"
#include <stdio.h>


int main(int argc, char* args[]){
    printf("Initializing Game class\n");
    Game game = Game();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

Game.h -

#ifndef GAME_H
#define GAME_H

#include "SDL2/SDL.h"
#include "SDL2/SDL_image.h"
#include <stdio.h>
#include <chrono>
#include <thread>
#include <iostream>
#include "MenuState.h"

class MenuState;

class …
Run Code Online (Sandbox Code Playgroud)

c++ sdl compiler-errors derived-class

0
推荐指数
1
解决办法
1万
查看次数