Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 为什么我的常量变量输出不是空的_Angular_Typescript_Angular6_Constants - Fatal编程技术网

Angular 为什么我的常量变量输出不是空的

Angular 为什么我的常量变量输出不是空的,angular,typescript,angular6,constants,Angular,Typescript,Angular6,Constants,这可能很愚蠢,但我已经阅读了太长时间的代码,似乎无法找到为什么我的变量在控制台中没有打印为空,如果它没有到达实际将值推入其中的函数。它很好用,我只是想知道为什么 我已经打印了许多console.log来跟踪填充变量(它是一个数组)的任何代码行,我也在代码的其他部分尝试了不同的方法,但它是一个常量变量,因此可以从函数外部为它分配不同的值 function ABC() { console.log('FUNCTION BEGINS...'); const tempDates: Array&l

这可能很愚蠢,但我已经阅读了太长时间的代码,似乎无法找到为什么我的变量在控制台中没有打印为空,如果它没有到达实际将值推入其中的函数。它很好用,我只是想知道为什么

我已经打印了许多console.log来跟踪填充变量(它是一个数组)的任何代码行,我也在代码的其他部分尝试了不同的方法,但它是一个常量变量,因此可以从函数外部为它分配不同的值

function ABC() {

  console.log('FUNCTION BEGINS...');
  const tempDates: Array<Moment> = [];
  console.log(tempDates);
  console.log('After creating the variable...');

  console.log('Before log tempdates');
  console.log(tempDates);

  const start_date = this.date;

  let dateToAdd = start_date;
  tempDates.push(dateToAdd);

  console.log(dateToAdd);
  console.log(tempDates);
}
函数ABC(){
log('函数开始…');
常量tempDates:Array=[];
console.log(tempDates);
log('在创建变量之后…');
console.log(“在日志临时日期之前”);
console.log(tempDates);
const start_date=this.date;
let dateToAdd=开始日期;
tempDates.push(dateToAdd);
console.log(dateToAdd);
console.log(tempDates);
}
也许我错了,分析过度了,但我希望第一次打印常量“tempDates”时打印一个空数组。但实际输出的数组中有3个日期,如果条件为真,则实际填充这些日期,之后会有许多行代码

这是控制台的外观:
这是因为现在Chrome控制台处理对象的方式。它本质上会打印一个指向该对象内容的指针——如果内容发生变化,控制台中的输出也会发生变化。为了准确地查看控制台中给定时间点的对象或数组的外观,请确保在
console.log()
语句中使用
JSON.stringify()
.toString()
将其转换为不会更改的字符串

console.log(JSON.stringify(myArray))

console.log(myArray.toString())

如果你感兴趣的话


这就是说,你的代码按预期工作,Chrome只是在骗人

@dracarons很高兴我能帮忙。我也不止一次被这个咬过!