es6-class相关内容

Javascript中静态函数声明和普通函数声明的区别?

有很多方法可以在 javascript 中声明一个函数.其中一种方法是声明一个类,其中的静态函数如下所示. class className {静态函数名(){}} 另一种声明方式是通过传统的javascript样式,如下所示. 函数函数名() {} 我想知道使用这两种情况的优缺点.静态方法是否有任何特定用例,为什么要声明一个类(我们知道在 javascript 中不需要实例化该类来访问静态 ..

如何用玩笑取消模拟单个实例方法

来自 rspec,我无法理解开玩笑的嘲讽.我正在尝试的方法是自动模拟一个类的构造函数及其所有函数,然后将它们一个一个地取消模拟以仅测试该函数.我能找到的唯一文档是使用 2 个类,模拟 1 个类,然后测试这些函数是否是从另一个未模拟的类调用的. 下面是我正在尝试做的事情的一个基本的、人为的想法.有人可以指导我如何做这件事吗? foo.js class Foo构造函数:->this.ba ..
发布时间:2022-01-01 23:52:00 其他开发

您如何检查 ECMAScript 6 类和函数之间的区别?

在 ECMAScript 6 中,根据规范,类的 typeof 是 'function'. 但是,根据规范,您也不能像普通函数调用一样调用通过类语法创建的对象.换句话说,您必须使用 new 关键字,否则会抛出 TypeError. TypeError: 类不能被函数调用 所以如果不使用try catch,这会非常丑陋并破坏性能,你如何检查一个函数是来自class语法还是来自fun ..
发布时间:2021-12-23 12:06:39 前端开发

JSON 使用 getter/setter 字符串化 ES6 类属性

我有一个 JavaScript ES6 类,它有一个用 set 设置的属性,并用 get 函数访问.它也是一个构造函数参数,因此可以使用所述属性实例化该类. class MyClass {构造函数(属性){this.property = 财产}设置属性(道具){//一些验证等this._property = 道具}获取属性(){返回 this._property}} 我使用 _property ..
发布时间:2021-12-23 11:54:22 前端开发

如何克隆一个 javascript ES6 类实例

如何使用 ES6 克隆一个 Javascript 类实例. 我对基于 jquery 或 $extend 的解决方案不感兴趣. 我已经看到很多关于对象克隆的古老讨论,这些讨论表明问题非常复杂,但是 ES6 提供了一个非常简单的解决方案 - 我将把它放在下面,看看人们是否认为它令人满意. 编辑:有人建议我的问题是重复的;我看到了那个答案,但它已经有 7 年的历史了,并且涉及使用 ES ..
发布时间:2021-12-23 11:47:58 前端开发

JavaScript ES6 类是否与异步代码库一起使用?

ES6 类可以提供什么,作为一种组织模式,异步代码.下面是一个 ES7 async/await 的例子,一个 ES6 类可以在 ES7 中有一个异步方法或构造函数吗? 我可以这样做吗: class Foo {异步构造函数(){让 res = await getHTML();this.res = res}} 而且,如果不是这样,构造函数应该如何工作? class Foo {构造函数(){ ..
发布时间:2021-12-14 20:31:30 其他开发

获取 ES6 类的静态列表

给定一个 ES6 类,我如何检查它以确定其可获取的静态属性和方法? 在 ES5 中,确定附加到类(它的构造函数)的静态就像迭代函数的属性一样简单.在 ES6 中,似乎有一些魔法不会将它们暴露出来. 解决方案 是的,classes 的所有方法默认都是不可枚举的. 您仍然可以使用 Object.getOwnPropertyNames.过滤掉 .prototype、.name 和 . ..
发布时间:2021-12-09 21:34:13 前端开发

从常规 ES6 类方法调用静态方法

调用静态方法的标准方法是什么?我可以考虑使用 constructor 或使用类本身的名称,我不喜欢后者,因为它觉得没有必要.前者是推荐的方式,还是有其他的方式? 这是一个(人为的)例子: class SomeObject {构造函数(n){this.n = n;}静态打印(n){控制台日志(n);}打印N(){this.constructor.print(this.n);}} 解决方案 ..
发布时间:2021-12-09 20:47:41 前端开发

什么时候在 REACT 中使用构造函数合适?

我了解 C++ 等 OOP 语言中构造函数的概念.但是,我不完全确定何时在 REACT 中使用构造函数.我确实理解 JavaScript 是面向对象的,但我不确定构造函数实际上是在“构造"什么. 渲染子组件时,子组件中是否需要构造函数?例如: class App 扩展 React.Component {构造函数(道具){超级(道具);this.state = {项目: [],错误:空}}使 ..
发布时间:2021-12-06 21:38:53 前端开发

为什么 Javascript ES6 不能调用匿名超级函数?

请解释使用匿名函数和使用类函数的父子关系的区别?在第 1 种情况下,一切都按预期工作.在情况 2 中,codepen 不返回任何结果. //CASE 1类父{构造函数(名称){this.name = 名称;}执行(){console.log('name', this.name);}}类子扩展父{构造函数(名称,年龄){超级(名称);this.age = 年龄;}执行(){超级执行();con ..