Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

245
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda