Javascript Google Sheets相等运算符测试工作表对象==或=?

Javascript Google Sheets相等运算符测试工作表对象==或=?,javascript,google-sheets,comparison,Javascript,Google Sheets,Comparison,下面的代码创建两个图纸对象,然后进行比较 var ss = SpreadsheetApp.getActive(); var sheet = ss.getSheetByName("Values"); var sheet1 = ss.getSheetByName("Values"); if (sheet==sheet1){Logger.log("sheet==sheet1")}; if (sheet=sheet1){Logger.log("sheet=sheet1")}; 输

下面的代码创建两个图纸对象,然后进行比较

  var ss = SpreadsheetApp.getActive();
  var sheet = ss.getSheetByName("Values");
  var sheet1 = ss.getSheetByName("Values");

  if (sheet==sheet1){Logger.log("sheet==sheet1")};
  if (sheet=sheet1){Logger.log("sheet=sheet1")};
输出仅为

sheet=sheet1
我希望
工作表
工作表1
是相同的。显然不是。怎么会? 要说清楚,问题不在于如何比较,而在于为什么这些不是对同一个对象的引用

此外,使用单一等式标记是否真的测试了这两张表之间的相等性,还是真的进行了一些分配?

=
是一种,它不会比较这两张表

=
如果您比较字符串和数字(查看链接了解更多信息),则会很方便

但就你而言,
getSheetByName
返回一个对象,您有两个对象,而不是同一个实例,您可以使用
JSON.stringify
来比较它们:


if(JSON.stringify(sheet)==JSON.stringify(sheet1)){Logger.log(“sheet==sheet1”)

=
不是一个比较运算符,它是一个赋值运算符一个人可以使用工作表名
sheet.getSheetName()
,我想它更好更短,我只想知道为什么
sheet,sheet1
不是对同一对象的引用。我重新措辞了上面的问题。