首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Javascript es6类语法模式

Javascript es6类语法模式
EN

Stack Overflow用户
提问于 2016-11-10 13:02:04
回答 1查看 144关注 0票数 0

我正在研究一个节点模块,我希望继续使用es6类语法来保持样式的一致性,但我发现这种模式无法重现:

代码语言:javascript
运行
AI代码解释
复制
const proto = module.exports = function(options) {
    man.opts = options || {};
    function man(sentence) {
        man.say(sentence);
    }

    man.__proto__ = proto;
    man.age = 29;
    man.say = function(sentence) {
        console.log(sentence);
    };
    return man;
};

这个函数的奇怪之处在于,我可以将它称为标准构造函数,并使用他的方法和道具获取一个人,但我也可以将man作为函数调用,并得到与调用他的方法"say“相同的结果。基本上,man('text')产生与man.say(‘text’)相同的效果;我如何使用es6类语法重新创建这个模式?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-10 13:46:35

基本上,man('text')产生了与man.say('text')相同的效果

最好不要使用那种模式。

如何使用es6类语法重新创建此模式?

您可以使用类似于Function的方法

代码语言:javascript
运行
AI代码解释
复制
export default class {
    constructor(options) {
        const man = sentence => this.say(sentence);
        Object.setPrototypeOf(man, new.target.prototype);

        man.opts = options || {};
        man.age = 29;

        return man;
    }
    say(sentence) {
        console.log(sentence);
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40536935

复制
相关文章
JavaScript——ES6新增语法特性
ES的全称是ECMAScript,它是由ECMA国际标准化组织制定的一项脚本语言的标准化规范
岳泽以
2022/10/26
4290
JavaScript——ES6新增语法特性
【JS 构造|原型|原型链|继承(圣杯模式)|ES6类语法】下篇
❗️ ❗️ ❗️本篇系将带来JavaScript中的构造——原型——原型链——继承——ES6类语法系列知识完整讲解。 ❗️ ❗️ ❗️ ❕上篇涉及:构造——原型——原型链 ❕下篇涉及:继承——ES6类语法
好吃懒洋洋
2022/11/21
7770
【JS 构造|原型|原型链|继承(圣杯模式)|ES6类语法】下篇
【JS 构造|原型|原型链|继承(圣杯模式)|ES6类语法】上篇
❗️ ❗️ ❗️本篇系将带来JavaScript中的构造——原型——原型链——继承——ES6类语法系列知识完整讲解。 ❗️ ❗️ ❗️ ❕上篇涉及:构造——原型——原型链 ❕下篇涉及:继承——ES6类语法
好吃懒洋洋
2022/11/15
7600
【JS 构造|原型|原型链|继承(圣杯模式)|ES6类语法】上篇
ES6语法中类(class)的实现原理
JavaScript语言不同于其他的类C语言,没有提供类的概念,但是可以提供类似的语法糖来实现JS面向对象的编程范式,本质上不是严格意义上的类
伯爵
2019/10/12
2K0
ES6语法中类(class)的实现原理
快速学习ES6新特性-class(类)的基本语法
JavaScript 语言的传统方法是通过构造函数定义井生成新对象。ES6中引入了class的概念,通过class关键字自定义类。
cwl_java
2020/02/14
4340
JavaScript ...语法 (展开语法)
参考:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Spread_syntax
acoolgiser
2020/11/09
1.1K0
常用ES6语法
允许声明在对象字面量时使用简写语法,来初始化属性变量和函数的定义方法,并且允许在对象属性中进行计算操作
薛定喵君
2019/11/06
5330
ES6基础语法
ES5中,我们可以在代码中任意位置声明变量,甚至可以重写已经声明的变量,ES6引入了一个let关键字,它是新的var。
javascript艺术
2021/05/28
3220
ES6基础语法
ES6语法处理
如果你仔细阅读webpack打包的js文件,发现写的ES6语法并没有转成ES5,那么就意味着可能一些对ES6还不支持的浏览器没有办法很好的运行我们的代码。
Qwe7
2022/05/29
4330
Es6基本语法
ES标准中不包含 DOM 和 BOM的定义,只涵盖基本数据类型、关键字、语句、运算符、内建对象、内建函数等通用语法。
shaoshaossm
2022/12/27
6510
Es6基本语法
JavaScript 语法
{firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"}
陈不成i
2021/07/15
2940
【前端】Javascript高级篇-ES6中的类和对象
类和对象 类是对现实事物的抽象 类中包含 属性、方法 初始化类,对象 // 创建类 class Demo { } // 利用类创建实例 new Demo(); 创建-构造函数,对象实例 构造函数 默认自动创建 创建对象实例的时候自动调用 自动返回实例 // 创建类 class Demo { // 构造函数 constructor(name) { this.name = name; } } // 利用类创建实例 var ldh = new Demo('刘德华'); var zxy =
瑞新
2020/07/07
5580
二、ES6新语法
图中可对比看出,如果用var声明,在循环外部还是可以使用i变量;但用let声明变量,循环外部不可以使用n变量
Dreamy.TZK
2020/07/03
3940
ES6 语法大全上
最近在做毕业设计,其中用到了一些 ES6 的语法,比如模块的输出引入,箭头函数,对象字面量的简写,等等。所性顺便就学一下 ES6 的语法,做一个笔记总结。
sunseekers
2023/06/10
2250
ES6 语法大全上
ES6的基础语法
ECMAScript 6 简称 ES6,是 JavaScript 语言的下一代标准,已经在2015年6月正式发布了。它的目标是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。 ECMAScript 和 JavaScript 的关系:前者是后者的语法规格,后者是前者的一种实现 Babel:将ES6代码转为ES5代码:https://babeljs.io/
不愿意做鱼的小鲸鱼
2022/08/23
2980
ES6的基础语法
ES6基础语法知识
为了更方便的学习es6,需要引用babel <script src="https://cdn.bootcss.com/babel-standalone/6.22.1/babel.min.js"></script>
别盯着我的名字看
2022/06/09
2670
ES6新增语法--const
const(★★★) 声明常量,常量就是值(内存地址)不能变化的量 具有块级作用域 if (true) { const a = 10; } console.log(a) // a is not defined 声明常量时必须赋值 const PI; // Missing initializer in const declaration 常量赋值后,值不能修改 const PI = 3.14; PI = 100; // Assignment to constant variable. ​ co
清出于兰
2020/10/26
2990
ES6之module语法
之前分享过模块化,也提到了ES6新增的module。JavaScript一直没有模块体系,css都有@import。ES6标准实现了模块化功能,完全可以取代那些模块化规范,成为浏览器和服务器的通用方法。
wade
2020/04/23
4380
ES6之module语法
ES6语法使用精华
let 的作用域与 const 命令相同:只在声明所在的块级作用域内有效。且不存在变量提升 。
前端_AWhile
2019/09/16
8200
ES6——Class基础语法
  而在ES6中,引入了Class这个概念来作为对象的模板。而class只是一个语法糖写法,还是基于ES5封装而来的。上面的例子用class来改写如下:
流眸
2019/08/09
4210

相似问题

JavaScript ES6导入语法?

11

JavaScript ES6 JSON导入语法

18

ES6 JavaScript类

14

JavaScript ES6 -这是扩展语法还是rest语法?

20

导入类失败,返回ES6语法

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档