Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ES6 Class(类)

ES6 Class(类)

作者头像
Leophen
发布于 2019-08-23 02:31:51
发布于 2019-08-23 02:31:51
44501
代码可运行
举报
文章被收录于专栏:Web前端开发Web前端开发
运行总次数:1
代码可运行

一、ES6 类的定义

ES5 构造函数的写法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function Point(x, y) {
    this.x = x;
    this.y = y;
}

ES6 引入了 Class(类),通过class关键字,可以定义类。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Point {
    constructor(x, y) {
        this.x = x;
        this.y = y;
    }
}

这里,ES6 的 Point 类的构造方法对应前面 ES5 的构造函数 Point,代码中的 constructor 是构造方法。

关于 constructor constructor 是类的默认方法,通过 new 命令生成对象实例时,自动调用该方法。 一个类必须有 constructor 方法,如果没有显式定义,一个空的 constructor 方法会被默认添加: class Point { } // 等同于 class Point { constructor() {} }

二、ES6 类的实例

生成类的实例与 ES5 一样,也是用 new 命令。

但构造函数的实例不用 new 也可以执行,而类必须用 new,否则会报错:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Point {
  // ...
}

// 报错
var point = Point(2, 3);

// 正确
var point = new Point(2, 3);

三、ES6 类的继承

 1、extends 关键字实现继承

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Parent{
  constructor(lastName='Liu'){
    this.lastName=lastName;
  }
}
class Child extends Parent{
}
console.log(new Child());

// 输出结果

2、super() 方法继承传递参数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Parent{
  constructor(lastName='Liu'){
    this.lastName=lastName;
  }
}
class Child extends Parent{
  constructor(lastName){
    super(lastName);
  }
}
console.log(new Child('Chen'));

// 输出结果

四、getter 和 setter

与 ES5 一样,在“类”的内部可以使用 get 和 set 关键字,对某个属性设置取值函数和存值函数,拦截该属性的存取行为

1、getter(取值函数)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Parent{
  constructor(name='Winnie'){
    this.name=name;
  }
  get longName(){
    return 'Liu'+this.name;
  }
}
let getterName=new Parent();
console.log(getterName.longName);  // LiuWinnie

2、setter(存值函数)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Parent{
  constructor(name='Winnie'){
    this.name=name;
  }
  get longName(){
    return 'Liu'+this.name;
  }
  set longName(value){
    this.name=value;
  }
}
let setterName=new Parent();
setterName.longName='Honey';
console.log(setterName.longName);    // LiuHoney

五、静态方法

类相当于实例的原型,所有在类中定义的方法,都会被实例继承。

但如果在一个方法前加上 static 关键字,则该方法不会被实例继承,而是直接通过类来调用,这种方法称为静态方法。

1、static 关键字的使用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Parent{
  static tell(){
    console.log('hello');
  }
  tell(){
    console.log('world');
  }
}
Parent.tell();    // hello

以上代码还可以看出静态方法可以与非静态方法重名

2、静态属性

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Parent {
}

Parent.lastName = 'Liu';
console.log(Parent.lastName);  // Liu

上面代码为 Parent 类定义了一个静态属性 lastName

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-07-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
ChatTTS webUI & API:ChatTTS本地网页界面的高效文本转语音、同时支持API调用!
Github:https://github.com/jianchang512/ChatTTS-ui
AI进修生
2024/12/02
1.4K0
ChatTTS webUI & API:ChatTTS本地网页界面的高效文本转语音、同时支持API调用!
6k Star!ChatTTS:开源领域最强的文本到语音转换(TTS)模型!
体验地址:https://huggingface.co/2Noise/ChatTTS
AI进修生
2024/12/02
5300
6k Star!ChatTTS:开源领域最强的文本到语音转换(TTS)模型!
【机器学习】ChatTTS:开源文本转语音(text-to-speech)大模型天花板
我很愿意推荐一些小而美、高实用模型,比如之前写的YOLOv10霸榜百度词条,很多人搜索,仅需100M就可以完成毫秒级图像识别与目标检测,相关的专栏也是CSDN付费专栏中排行最靠前的。今天介绍有一个小而美、高实用性的模型:ChatTTS。
LDG_AGI
2024/08/13
1.3K0
【机器学习】ChatTTS:开源文本转语音(text-to-speech)大模型天花板
chatTTS 最强文字转语音模型本地部署!
今天本地部署了下传说中的语音合成大模型chatTTS,合成效果非常不错,比市面上其他工具合成的感情更丰富,语气更自然一些,一起来听听。
zz_jesse
2024/07/05
1.1K0
chatTTS 最强文字转语音模型本地部署!
CosyVoice:开源强大的 AI 语音合成工具
在当今科技飞速发展的时代,AI 语音合成技术正逐渐改变着我们的生活。今天,就为大家介绍一款卓越的语音合成工具——CosyVoice。
井九
2024/10/12
1.3K0
在Jetson上玩转大模型Day12:NanoLLM开发平台(2):语音对话助手
前面已经简单介绍过在Jetson AI Lab所提供的NanoLLM开发平台上的API基本内容,使用这些API可以非常轻松地开发并整合比较复杂的应用,现在就用一个比较具有代表性的Llamaspeak对话机器人项目,做个简答的比较。
GPUS Lady
2024/11/18
2280
在Jetson上玩转大模型Day12:NanoLLM开发平台(2):语音对话助手
使用 browser-use-webui 进行网页信息填写和录入
在数字化时代,网页信息填写和录入是许多业务流程中的重要环节,例如注册账户、提交在线表单或更新个人信息。这些任务往往耗时且容易出错,而自动化工具的引入可以显著提高效率并减少人为失误。GitHub 上的 browser-use/web-ui 项目为这一需求提供了一个创新且实用的解决方案。
叶子Tenney
2025/03/13
9900
使用 browser-use-webui 进行网页信息填写和录入
热门开源项目ChatTTS: 国内语音技术突破,实现弯道超车
随着开源程序的发展,越来越多的程序员开始关注并加入开源大模型的行列。每个人对开源行业和项目的关注点各不相同,现在快来加入我们的开源热门项目推荐活动,分享你感兴趣的热门项目吧!
Srlua
2024/06/17
5900
热门开源项目ChatTTS: 国内语音技术突破,实现弯道超车
ChatTTS 保姆级教程从入门到精通
欢迎来到这篇 ChatTTS 保姆级教程!今天我们将深入探讨 ChatTTS,从入门到精通,让你掌握这款强大的文本转语音工具。不论你是初学者还是有一定基础的用户,都能在这篇文章中找到有用的信息。
猫头虎
2024/06/06
6.7K0
ChatTTS 保姆级教程从入门到精通
AI超强语音转文本SenseVoice,本地化部署教程!
这里使用autodl 机器学习平台,官网地址:https://www.autodl.com/market/list
贾维斯Echo
2024/09/05
3.3K0
AI超强语音转文本SenseVoice,本地化部署教程!
AI女友养成记 CosyVoice vs MiniCPM-o2.6
本期准备了模型,素材,语音文件以及长文本的纯人声配音测试,表现稳定,配音迅速,可对比chatTTS的批量文本配音,支持调节语速,3s实现极速语音复制,测试了长文本的小说配音,语速均匀,不会出现语速不符,目前还没有语气助词的配音,可以结合TTS实现,可支持ollama实现实时语音对话。
疯狂的KK
2025/01/20
4760
AI女友养成记 CosyVoice  vs MiniCPM-o2.6
Fish Agent :最新开源AI实时语音对话代理!音色克隆,模仿情感,声音自然
以前写过一个叫 Fish Speech 的TTS项目,效果还不错,也是第一梯队的TTS模型。
AI进修生
2024/12/02
6290
Fish Agent :最新开源AI实时语音对话代理!音色克隆,模仿情感,声音自然
Mac 本地部署Stable Diffusion
Stable Diffusion 官网给出了mac系统的安装步骤,中间遇到些问题,不过整体比较顺利。官网安装说明:https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Installation-on-Apple-Silicon#downloading-stable-diffusion-models
数据仓库晨曦
2024/01/08
2K0
Mac 本地部署Stable Diffusion
分享一款可用于对话场景的文本转语音免费工具
不知道大家在日常的学习、工作中是否有这样的一个情况,当我们阅读完一篇文章,很快就能读完,但印象不会很深;或者说在很多时候,对着电脑、手机看久了,眼睛很疲劳,希望能够通过听觉来接收我们文章的内容。我自己在时常阅读公众号文章,就很喜欢去听,而不是阅读的方式。逐渐发现听内容比阅读内容更容易吸收,而且能够极大的缓解我们的眼睛疲劳。
兔云小新LM
2024/06/10
4630
分享一款可用于对话场景的文本转语音免费工具
肝了4天,我用ChatTTS和LLM让deeplearning.ai课程说上流畅中文
我们都知道外网上有很多优秀的视频教程平台,比如 Coursera 和 deeplearning.ai。尤其是后者,由吴恩达老师与OpenAI、Langchain、LlamaIndex、AutoGen等公司和作者合作,推出了一系列广受好评的LLM教程,如Prompt Engineering、Langchain教程、LlamaIndex教程和AutoGen教程。deeplearning.ai 的课程紧跟时下热点,是大语言模型爱好者和从业者不可或缺的资源。然而,deepleaning.ai 的课程通常没有中文字幕,这无疑提高了学习的门槛。即使有些同学坚持学习,也可能因为语言障碍只能学到皮毛。我肝了4天,我成功地让这些课程说上流畅地道的普通话。话不多说,让我们直接看看效果视频。
AgenticAI
2025/03/18
1450
肝了4天,我用ChatTTS和LLM让deeplearning.ai课程说上流畅中文
基于腾讯云CVM搭建CosyVoice环境
CosyVoice,这一由阿里通义实验室于七月初发布的开源语音合成大模型,展现了在自然语言合成领域的独特实力。它不仅支持包括中文、英文、日语、粤语和韩语在内的五种不同语言,更在多音色和丰富情感的语音生成方面设立了新的标杆。
buzzfrog
2024/08/27
7381
基于腾讯云CVM搭建CosyVoice环境
【AI落地应用实战】文本生成语音Parler-TTS + DAMODEL复现指南
这里我要推荐的【好事】文章是如何从零构建一个现代深度学习框架,2024年可以说是大模型发展迅速的一年,国内的国际的各大厂商都推出了多种场景的大模型,那么作为小白,虽然不是大模型从业者,但是也想了解一下大模型这样的深度学习框架到底是怎么来的,是如何构建的呢?可以看这篇文章:
中杯可乐多加冰
2024/11/12
4890
在Jetson上玩转大模型Day12:NanoLLM开发平台(2):语音对话助手
这个Llamaspeak项目在2023年提出第一个版本时,是以NVIDIA的RIVA语音技术结合Text-Generation-Webui界面与LLM大语言模型而成,整个安装的过程是相当复杂的,主要包括以下步骤:
GPUS Lady
2024/11/19
2860
在Jetson上玩转大模型Day12:NanoLLM开发平台(2):语音对话助手
对话型文字转语音软件Dia-1.6B免安装一键启动整合包下载
本次分享一个刚出的超逼真对话型文字转语音软件Dia-1.6B,这个TTS软件不像传统的文字转语音那样,Dia可以生成对话音频,还可以生成非语言音效,如笑声,咳嗽,清嗓子等,还支持声音克隆。我基于当前Dia最新版本制作了免安装一键启动整合包。
用户11671502
2025/05/26
1090
对话型文字转语音软件Dia-1.6B免安装一键启动整合包下载
【人工智能】Transformers之Pipeline(三):文本转音频(text-to-audio/text-to-speech)
pipeline(管道)是huggingface transformers库中一种极简方式使用大模型推理的抽象,将所有大模型分为音频(Audio)、计算机视觉(Computer vision)、自然语言处理(NLP)、多模态(Multimodal)等4大类,28小类任务(tasks),共计覆盖32万个模型。
LDG_AGI
2024/08/13
3390
【人工智能】Transformers之Pipeline(三):文本转音频(text-to-audio/text-to-speech)
推荐阅读
相关推荐
ChatTTS webUI & API:ChatTTS本地网页界面的高效文本转语音、同时支持API调用!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验