Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

251
Views
error en mecanografiado para cada sintaxis de bucle

Estoy tratando de hacer una clase con mecanografiado 2.0.3 pero tengo algunos problemas y no sé por qué.

este es mi codigo

 import { Component, OnInit } from '@angular/core'; import {Car} from '../interfaces/car'; class PrimeCar implements Car { constructor(public vin, public year, public brand, public color) {} } @Component({ selector: 'rb-test', templateUrl: './test.component.html', styleUrls: ['./test.component.css'] }) export class TestComponent implements OnInit { displayDialog: boolean; car: Car = new PrimeCar(null, null, null , null); selectedCar: Car; newCar: boolean; cars: Car[]; constructor() { } ngOnInit() { this.cars = [ {vin: '111', year: '5554' , brand: '5646' , color: '6466' }, {vin: '111', year: '5554' , brand: '5646' , color: '6466' }, {vin: '111', year: '5554' , brand: '5646' , color: '6466' }, {vin: '111', year: '5554' , brand: '5646' , color: '6466' } ]; } showDialogToAdd() { this.newCar = true; this.car = new PrimeCar(null, null, null, null); this.displayDialog = true; } save() { const cars = [...this.cars]; if (this.newCar) { cars.push(this.car); } else { cars[this.findSelectedCarIndex()] = this.car; } this.cars = cars; this.car = null; this.displayDialog = false; } delete() { const index = this.findSelectedCarIndex(); this.cars = this.cars.filter((val, i) => i !== index); this.car = null; this.displayDialog = false; } onRowSelect(event) { this.newCar = false; this.car = this.cloneCar(event.data); this.displayDialog = true; } cloneCar(c: Car): Car { const car = new PrimeCar(null, null, null, null); for (let prop: string in c) { car[prop] = c[prop]; } return car; } findSelectedCarIndex(): number { return this.cars.indexOf(this.selectedCar); } }

En el método cloneCar, tengo este error al intentar escribir:

 for (let prop: string in c) { ...}

Tslint: el identificador 'prop' nunca se reasigna, use const en lugar de let

esta es una captura de imagen de mi IDE: ver error aquí

NB: estoy usando este código en la versión 2.3.0 del proyecto angular

Un poco de ayuda, por favor!

about 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Su IDE es correcto. Estás declarando prop con let y no con const .

let es para variables que están sujetas a cambios. Por ejemplo:

 let x = 5; x = 7;

Declaramos x y luego cambiamos su valor.

const es para valores que no cambiarán. Por ejemplo:

 const x = 5; x = 7; // Throws an error.

Entonces, en su caso, como prop no cambia y no cambiará, tiene que ser una constante ( const ):

 for (const prop: string in c) { ...}

Consulte esta documentación para una comprensión más profunda.

about 4 years ago · Santiago Trujillo Report

0

prop variable sólo se utiliza para leer. no le asignas nada para que no cambie. esto significa que debe ser const no let.

about 4 years ago · Santiago Trujillo Report

0

En primer lugar, es solo un error de pelusa que le dice que es mejor usar const en lugar de let si no está reasignando la variable.

El segundo es que iría con Object.assign() en su lugar, que hace lo mismo pero es de una sola línea.

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!