TypeError:无法在 gitlab 中读取未定义的属性(读取“读取”)

Posted

技术标签:

【中文标题】TypeError:无法在 gitlab 中读取未定义的属性(读取“读取”)【英文标题】:TypeError: Cannot read properties of undefined (reading 'read') in gitlab 【发布时间】:2022-01-16 12:35:14 【问题描述】:

我对 TypeError: Cannot read properties of undefined (reading 'read') in gitlab 有点困惑。我想要以下:

函数 createCalculator() 用三个方法返回一个对象:

read (arr) 接受一个数字表并将其保存在其字段中 对象。

sum() 返回表格值的总和

mul() 返回表值的乘积

采取以下和平代码:

function createCalculator() 

    let calculator = 
        sum() 
            return this.a + this.b + this.c ;

        ,

        mul() 
            return this.a * this.b*this.c;

        ,

        read(arr) 
            this.a = 1;
            this.b = 3;
            this.c = 6;
            arr.push(arr);

        
    ;

    calculator.read([1,3,6]);
    console.log( calculator.sum() );
    console.log( calculator.mul() );



let calculator;
calculator = createCalculator();

【问题讨论】:

你的函数没有返回任何东西,你的 read 方法也没有保存任何数组,只是分配了一些硬编码的属性。 我该如何解决?你能帮帮我吗? 这和 GitLab 有什么关系?这是否发生在某些 CI 管道中?这似乎与 GitLab 无关。 【参考方案1】:

我认为您正在寻找这个,但不确定为什么以及何时出现错误(不明白这与 gitlab 有什么关系)。

function createCalculator() 

    return 
        sum() 
          return this.values.reduce((a, b) => a + b, 0);
        ,

        mul() 
          return this.values.reduce((a, b) => a * b, 1);
        ,

        read(arr) 
          this.values = arr;
        
    ;


const calculator = createCalculator();
calculator.read([1,3,6]);
console.log( calculator.sum() );
console.log( calculator.mul() );

你也可以使用一个类来做同样的事情:

class Calculator 
  static sum() 
    return this.values.reduce((a, b) => a + b, 0);
  

  static mul() 
    return this.values.reduce((a, b) => a * b, 1);
  

  static read(arr) 
    this.values = arr;
  


Calculator.read([1,3,6]);
console.log( Calculator.sum() );
console.log( Calculator.mul() );

【讨论】:

@mixalispetros 仍有问题?

以上是关于TypeError:无法在 gitlab 中读取未定义的属性(读取“读取”)的主要内容,如果未能解决你的问题,请参考以下文章

TypeError:无法读取未定义的属性(读取“名称”)

REACT JS:未处理的拒绝(TypeError):无法读取未定义的属性“数据”

TypeError:无法读取未定义的属性(读取“问题”)

TypeError:无法在新的 WebpackCLI 中读取未定义的属性“名称”

为啥 TypeError:无法读取未定义的属性“0”?

TypeError:无法读取reactjs中未定义的属性“长度”