Firefox调试器中的Typescript变量声明和赋值

Firefox调试器中的Typescript变量声明和赋值,typescript,firefox,read-eval-print-loop,firefox-developer-tools,Typescript,Firefox,Read Eval Print Loop,Firefox Developer Tools,我想在Firefox开发者工具中创建和操作一个变量。对于这样一个平凡的任务,我有一段时间 表示我的输入: > var foo = 1; undefined > foo = 1 ReferenceError: assignment to undeclared variable foo > foo /* Executed after the two attempts above */ ReferenceError: foo is not defined 我读到javascr

我想在Firefox开发者工具中创建和操作一个变量。对于这样一个平凡的任务,我有一段时间

表示我的输入:

> var foo = 1;
undefined

> foo = 1
ReferenceError: assignment to undeclared variable foo 

> foo /* Executed after the two attempts above */
ReferenceError: foo is not defined
我读到javascript/typescript中的声明语句不返回值,因此REPL按预期返回
undefined
。我还读到,在没有声明的情况下执行赋值是隐式创建一个全局变量,该变量在严格模式下抛出
ReferenceError
(或typescript中的默认行为),这解释了上面的第二次尝试

我不能在Firefox中操纵变量。我对Firefox专用的局部作用域变量有一个特殊的问题<肯定有什么明显的东西我遗漏了?如何在Firefox中更改变量?

重现问题
  • macOS Sierra 10.12.5
  • Firefox 54.0.1 64位|
    选项
    +
    cmd
    +
    s
    打开菜单>开发者>调试器
  • 遇到断点后 在调试器内部

    • 这一定是DevTools中的一个bug,应该是

      为了找出原因并为他们创建一个可复制的测试用例,以便他们能够修复它,有几个步骤需要遵循

      首先,你应该尝试一下它是否适合你。如果您可以在那里重现问题,那么您应该尝试创建一个小测试用例,并解释重现问题的步骤。如果它在新的配置文件中工作,那么问题通常与您的首选项或扩展有关

      要检查它是否与您的扩展相关,您应该全部停用它们,重新启动浏览器,然后尝试重现该问题。如果它在没有扩展的情况下工作,请逐个重新启用扩展,并在启用每个扩展后检查它是否仍然工作,以找到罪魁祸首

      如果它与扩展无关,则可能是一种偏好。在这种情况下,您应该将普通配置文件的prefs.js文件与新配置文件的prefs.js文件进行比较。要执行此操作,请打开Firefox菜单>?>疑难解答信息>打开文件夹(除了配置文件文件夹)。
      可能需要一些时间,但要找到导致错误的首选项,您可以将普通配置文件的prefs.js文件中与新配置文件不同的每一行复制到新的prefs.js文件中,并在每一行之后重新启动Firefox,以测试是否导致问题。

      如果这对您来说工作量太大,您也可以将普通配置文件的prefs.js文件添加到错误报告中,不过请注意它可能包含私有数据。

      这一定是DevTools中的错误,应该是

      为了找出原因并为他们创建一个可复制的测试用例,以便他们能够修复它,有几个步骤需要遵循

      首先,你应该尝试一下它是否适合你。如果您可以在那里重现问题,那么您应该尝试创建一个小测试用例,并解释重现问题的步骤。如果它在新的配置文件中工作,那么问题通常与您的首选项或扩展有关

      要检查它是否与您的扩展相关,您应该全部停用它们,重新启动浏览器,然后尝试重现该问题。如果它在没有扩展的情况下工作,请逐个重新启用扩展,并在启用每个扩展后检查它是否仍然工作,以找到罪魁祸首

      如果它与扩展无关,则可能是一种偏好。在这种情况下,您应该将普通配置文件的prefs.js文件与新配置文件的prefs.js文件进行比较。要执行此操作,请打开Firefox菜单>?>疑难解答信息>打开文件夹(除了配置文件文件夹)。
      可能需要一些时间,但要找到导致错误的首选项,您可以将普通配置文件的prefs.js文件中与新配置文件不同的每一行复制到新的prefs.js文件中,并在每一行之后重新启动Firefox,以测试是否导致问题。

      如果这对您来说工作量太大,您也可以将普通配置文件的prefs.js文件添加到您的bug报告中,不过请注意,它可能包含私有数据。

      那么问题是,第一个变量设置得很好,即使它返回
      undefined
      ?@adeneo。问题是我无法读取和验证变量是什么。如何检查
      foo
      实际上是
      1
      ?您在控制台中键入
      foo
      ?@adeneo正确。代码块中的第三条语句。我在声明和分配后键入
      foo
      。我得到
      ReferenceError
      。我无法复制,键入
      >var foo=1
      ,然后
      >foo
      给出
      1
      ,那么问题是什么,第一个变量设置得很好,即使它返回
      未定义的
      ?@adeneo问题是我无法读取和验证变量是什么。如何检查
      foo
      实际上是
      1
      ?您在控制台中键入
      foo
      ?@adeneo正确。代码块中的第三条语句。我在声明和分配后键入
      foo
      。我得到
      ReferenceError
      。我无法复制,键入
      >var foo=1
      ,然后
      >foo
      给出
      1