gpt4 book ai didi

javascript - 每个循环语法的 typescript 错误

转载 作者:太空狗 更新时间:2023-10-29 17:35:47 25 4
gpt4 key购买 nike

我正在尝试使用 typescript 2.0.3 创建一个类,但我遇到了一些问题,我不知道为什么。

这是我的代码

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);
}
}

在 cloneCar 方法中,尝试写入时出现此错误:

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

Tslint: identifier 'prop' is never reassigned ,use const instead of let

这是从我的 IDE 中捕获的图像: see error here

注意:我在 Angular 项目版本 2.3.0 中使用此代码

请帮忙!

最佳答案

您的 IDE 是正确的。您使用 let 而不是使用 const 声明 prop

let 适用于可能发生变化的变量。例如:

let x = 5;
x = 7;

我们声明了 x 然后我们改变了它的值。

const 用于不会更改的值。例如:

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

因此,在您的情况下,prop 不会也不会改变,因此必须是常量 (const):

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

检查 this documentation以获得更深入的了解。

关于javascript - 每个循环语法的 typescript 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43735285/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com