ES6 中的类声明和类表达式

2024-04-12

我不清楚类表达式和类声明。请帮助我理解它们之间的区别。

Thanks


这相对简单。

在“类表达式”中,类对象NamedFoo被分配给一个名为的变量Foo,像这样:

var Foo = class NamedFoo {
  constructor() {}
  whoIsThere() {
    return NamedFoo.name;
  }
}

在“类声明”中,类对象NamedFoo仅由其自身声明,如下所示:

class NamedFoo {
  constructor() {}
  whoIsThere() {
    return NamedFoo.name;
  }
}

这里的区别还在于,当它是“类声明”时,您可以通过使用来引用该类NamedFoo但是,当它是“类表达式”时,您只能通过分配给它的变量来引用该类,在这种情况下Foo.

我希望这有帮助!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ES6 中的类声明和类表达式 的相关文章

  • ES6继承:使用`super`访问父类的属性

    JavaScript 的super关键字 当我在 Chrome Babel TypeScript 上运行代码时 得到了不同的结果 我的问题是哪个结果是正确的 规范的哪一部分定义了这种行为 下面的代码 class Point getX con
  • 同步获取已解决 Promise 的值

    如果我们知道一个Promise肯定已经解决了 我们如何访问该值 如果不能 为什么不呢 let a Promise resolve 123 console log a value 以下不起作用 它打印 First Last 123 conso
  • ReactCSSTransitionGroup 组件WillLeave 未调用

    我尝试使用 ReactCssTransition 但不知何故该事件没有被调用 componentWillLeave 这是我的组件 import React Component from react import TransitionGrou
  • 为什么使用 ES6 Map 而不是普通的 javascript 对象?

    如果我们可以用普通的 javascript 对象创建键 值对 那么使用新的 ES6 的原因是什么Map https developer mozilla org en US docs Web JavaScript Reference Glob
  • Javascript 然后没有承诺返回值

    也许我没有正确谷歌搜索 不带参数的 then 函数不会阻塞吗 例如 你有一个承诺 someFunc gt return new Promise res rej gt somethingAsync input then val gt res
  • 无需编译的 ES6 单元测试

    我无法找到任何 Mocha 或任何其他通过 Gulp 直接在 ES6 代码上运行的单元测试框架的示例 没有 Babel Webpack 等 我找到了一个在浏览器中使用 ES6 代码运行 Mocha 的示例 经过一些修改 但它不是自动化的 有
  • ES6 模块范围

    我有代码 lib js var a a export var b b main js console log a a variable is not available in a global scope import b from lib
  • 如何使用 API 中的数据填充选择的下拉元素 - ReactJS

    我对 React 还很陌生 我正在从 API 获取数据 当我检查控制台日志时可以看到数据 但是我不知道如何使用 map 创建一个新数组 然后选项元素可以使用该数组来显示货币代码 目前它填充下拉列表 但选项元素全部为空 结果显示为 NaN 下
  • 异步减少返回承诺

    我有一个对象数组 我必须为来自异步函数的每个对象添加一个属性 我正在执行 Array reduce 来迭代每个元素并仅返回一个结果 具有新属性的一个对象数组 我有这个 const res await resultOne reduce asy
  • 无法在地图循环中访问 Axios 调用的值

    我有一个 javascript 对象 其 ID 对应于一组画廊 我使用地图循环遍历它 在每个循环中 我都会进行 axios 调用来获取当前 id 的图库 最后 我需要一个包含所有画廊内容的数组 问题是地图循环完成后我无法访问数据 当我 co
  • 为什么我的箭头函数有原型属性?

    正如文档中提到的https developer mozilla org en docs Web JavaScript Reference Functions Arrow functions https developer mozilla o
  • 在 Map() 的条目上使用 Promise.all

    我正在使用 Map 来表示一些键 值对 let myMap new Map myMap set foo bar myMap set foo2 bar42 对于每个 Map 条目 我执行一个返回 Promise 的函数 所有这些 Promis
  • 为什么流行的 JavaScript 运行时不能处理看似同步的异步脚本?

    As 牛仔在这里的评论中说道 https gist github com domenic 3889970 我们都希望 以类似于以下的风格编写 非阻塞 JavaScript 异步代码 try var foo getSomething asyn
  • Node.js ES6如何从模块导出类? [复制]

    这个问题在这里已经有答案了 我正在尝试从 Node js 6 2 0 中的 CommonJS 模块导出 ES6 类 class MyClass class contents here exports MyClass 然后将其导入到另一个模块
  • 如何在 ES6 类中使用静态变量?

    我正在尝试在 es6 中使用静态变量 我想声明一个静态变量count in Animal类并增加它 但是 我无法通过声明静态变量static count 0 所以我尝试了另一种方法 class Animal constructor this
  • React DOM Router 不会重定向链接

    我正在尝试使用react dom router包在我的 React 应用程序中 但我没有被成功 重定向 到该组件 仅当我刷新页面或通过 URL 访问时它才起作用 这是我的App js import React Component from
  • Array.from() 与扩展语法

    使用之间有什么区别吗Array from document querySelectorAll div or document querySelectorAll div 这是一个例子 let spreadDivArray document q
  • React 和 ES6 继承

    Note 这篇文章是在 React 不支持 ES6 v12 时发布的 我有一个 ES6 课程 class BaseClass getInitialState return message Hello render return div di
  • 使用 sinon 对 ES6 原型方法进行存根

    我在使用 Sinon 存根超类的原型方法时遇到问题 在下面的示例中 我将对超类方法 GetMyDetails 的调用进行存根处理 如下所示 我确信有更好的方法 actor sinon stub student proto proto Get
  • Map对象,在单个循环中删除元素

    在某些条件下 在单个循环中删除 Map 对象的元素的简洁有效的方法是什么 迭代地图的条目 可以做到这一点 但在每次迭代时调用条目 看起来效率不高 let name value map new Map One 1 Two 2 Three 3

随机推荐