This error message (TS2365) indicates that the '+' operator cannot be used between an empty object and a number

In my TypeScript 2.x project, I am utilizing lodash as well.

While using the following code:

console.log(_.reduce([1, 2], (result, n) => result + n));    // 3

An error is thrown:

Error TS2365: Operator '+' cannot be applied to types '{}' and 'number'.

Answer №1

To fix the problem, simply change the code to result: number.

console.log(_.reduce([1, 2], (result: number, n) => result + n));    // 3

When TypeScript encounters [1, 2], it can infer that n is a number. However, it cannot determine the type of

result</code until the function returns. Therefore, you must explicitly specify the type.</p>

<p>For instance,</p>

<pre><code>console.log(_.reduce([1, 2], (result, n) => 'hi'));    // 'hi'

In this case, the type of result will be inferred as string instead of number.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Unable to display JSON object in HTML in Angular due to a pipe error

Whenever I include the following code snippet: {{form}} The output is: [object Object] But when I modify it to: {{form | json}} An error occurs: TypeError: Converting circular structure to JSON --> starting at object with constructor 'TView&a ...

What is the correct way to exclude and remove a portion of the value within an object using TypeScript?

The function useHider was created to conceal specific values from an object with the correct type. For example, using const res = useHider({ id: 1, title: "hi"}, "id"), will result in { title: "hi" } being returned. Attempting ...

Conceal a designated column within a material angular data table based on the condition of a variable

In the morning, I have a question about working with data tables and API consumption. I need to hide a specific column in the table based on a variable value obtained during authentication. Can you suggest a method to achieve this? Here is a snippet of my ...

Troubleshooting mistakes in Typescript import syntax and beyond

During the development of this project in react and typescript using create-react-app, I encountered no issues. Now, my aim is to publish one of the components on npm. I have come to understand that I need to build this component separately from an existi ...

Explore the functionality of Typescript unit testing in debug mode with the assistance of VSCode

I'm looking to debug my Typescript spec.ts file using vs-code. Typically, I run it from the terminal like this: npm run test:unit -- page.spec.ts But I want to add some console.log statements for debugging. Is there a way to do this in vs-code? When ...

The component "react-dnd-html5-backend" does not have a defined export called 'HTML5Backend'

What is the solution to resolve this issue? The error message states that 'react-dnd-html5-backend' does not have an exported member named 'HTML5Backend'. https://i.sstatic.net/QUZut.jpg ...

What methods can be used to monitor changes made to thumbnails on the YouTube platform?

I have embarked on a project to create a Chrome extension that alters the information displayed on the thumbnails of YouTube's recommended videos. In this case, I am looking to replace the video length with the name of the channel. Imagine you are on ...

Zod combinator that accepts a dynamic field name

When converting XML to JSON, my library outputs {MyKey: T} for single-element lists and {MyKey: T[]} for multi-element lists. The equivalent TypeScript type is type XmlJsonArray<T, element extends string> = Record<element, T | T[]>. To implemen ...

What could be preventing a button click from happening when using TypeScript?

Can you please explain why the button click event is not working in TypeScript? Below is the code snippet I am referring to: https://jsfiddle.net/z4vo5u5d/238/ class Nav { private config:object; constructor(){ this.config = { ...

Updating the state in React is causing significant delays

In my React project, I am utilizing the pdf-lib (JS library) for some intensive tasks using async/await. My goal is to update a progress bar by modifying the state. However, when I use setState within a setTimeout, the state changes are not reflected unt ...

The module (external) hook does not have access to the <Provider> functionality

The creation of my react-redux-area module has hit a snag as the hooks in the module file are not functioning as expected. During runtime, an error is thrown stating: could not find react-redux context value; please ensure the component is wrapped in a &l ...

Discovering the Cookie in Angular 2 after it's Been Created

My setup includes two Components and one Service: Components: 1: LoginComponent 2: HeaderComponent (Shared) Service: 1: authentication.service Within the LoginComponent, I utilize the authentication.service for authentication. Upon successful authent ...

Expo project encountering issues with nested navigation in React-Native

When configuring the header in my app using React Native Stack Navigation and nesting a Drawer Navigation inside of it, I encountered a strange issue. While everything worked fine in the android emulator, opening the app using Expo resulted in nothing but ...

The .ts source file is mysteriously missing from the development tool's view after being deployed

When I work locally, I can see the .ts source files, but once I deploy them, they are not visible in any environment. Despite setting my sourcemap to true and configuring browserTargets for serve, it still doesn't work. Can someone help with this issu ...

Oops! Encounterred a TypeError stating "Unable to access properties of an undefined object" while working with react native

Within my React Native Quiz function, I have implemented a fetch GET request to load data. Upon checking if the data has loaded using the showQuestion variable, I encounter an error message: Cannot read properties of undefined (evaluating 'questObj[ ...

What is the best approach to create a customized array using or not using spread syntax in this scenario?

Any suggestions on simplifying and enhancing the code provided below? The current code works as intended when myarr.length === 2: [...myarr[0].arrk.map(myfunc), ...myarr[1].arrk.map(myfunc), ...myarr[2].arrk.map(myfunc)] How can we adjust the above code ...

Sharing information between sibling modules

Currently, I am faced with the challenge of transmitting data between two sibling components within the following component structure. The goal is to pass data without changing the relationships between these components. I prefer not to alter the componen ...

Http' does not have the 'update' property

I recently implemented Angular 2 Release and utilized 'Http' from '@angular/http' for my project. However, I encountered an error when I invoked the method 'update', which resulted in the following message: "Evidently, th ...

The struggle of accessing child components using ViewChild in Angular

I am facing an issue with a dialog box that is supposed to display a child component separately. Below is the code for the child component: @Component({ selector: 'userEdit', templateUrl: './edituser.component.html', styleUrls: [ ...

Is the ID Column in the Minimal Material Table Demo not appearing as expected?

Hey there, I'm in the process of developing a simple demonstration of a material table - Take note that this is a stackblitz link and for some reason, the id column isn't showing up. Here's a snippet from my app.component.ts: import { C ...