es6在原生代码的用法_原生JavaScript之es6中Class的用法分析
对比一下
基本上,ES6 的class可以看作只是一个语法糖,它的绝大部分功能,ES5 都可以做到,新的class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已。上面的代码用 ES6 的class改写 就是第一个那样
上面代码定义了一个“类”,可以看到里面有一个constructor方法,这就是构造方法,而this关键字则代表实例对象。也就是说,ES5 的构造函数Point,对应 ES6 的Point类的构造方法。
Point类除了构造方法,还定义了一个toString方法。注意,定义“类”的方法的时候,前面不需要加上function这个关键字,直接把函数定义放进去了就可以了。另外,方法之间不需要逗号分隔,加了会报错。
使用的时候,也是直接对类使用new命令,跟构造函数的用法完全一致。
class Bar {
doStuff() {
console.log('stuff');
}
}
var b = new Bar();
b.doStuff() // "stuff"
其实就是调用原型上的方法。
| `class B {}
let b = new B();
b.constructor === B.prototype.constructor // true`| |
上面代码中,b是B类的实例,它的constructor方法就是B类原型的constructor方法。
constructor 方法
constructor方法是类的默认方法,通过new命令生成对象实例时,自动调用该方法。一个类必须有constructor方法,如果没有显式定义,一个空的constructor方法会被默认添加。
class Point {
}
// 等同于
class Point {
constructor() {}
}
上面代码中,定义了一个空的类Point,JavaScript 引擎会自动为它添加一个空的constructor方法。
constructor方法默认返回实例对象(即this),完全可以指定返回另外一个对象。
class Foo {
constructor() {
return Object.create(null);
}
}
new Foo() instanceof Foo
es6在原生代码的用法_原生JavaScript之es6中Class的用法分析相关推荐
- 说出vue中的几种指令和他的用法_说一说VUE中的/deep/用法
七夕了,写个昨天遇到的bug来缓解下没有人约的尴尬. 昨天和QA过历史bug时,发现有好几个浏览器不兼容的导致式样变形的bug,调查了一番发现是因为deep选择器的原因. 在说bug之前,先看看vue ...
- vue 中provide的用法_说一说VUE中的/deep/用法
七夕了,写个昨天遇到的bug来缓解下没有人约的尴尬. 昨天和QA过历史bug时,发现有好几个浏览器不兼容的导致式样变形的bug,调查了一番发现是因为deep选择器的原因. 在说bug之前,先看看vue ...
- mysql中show的用法_完全解析MySQL数据库中Show命令用法
show命令的众多用法如下: a. show tables或show tables from database_name; - 显示当前数据库中所有表的名称. b. show databases; - ...
- mysql with as 用法_英语语法丨英语中just的用法总结,你掌握了吗?
just在英语中是一个重要的单词,它的使用方法很多样. 今天,这篇文章可以帮你正确使用这个英语中的关键词! 一.just作为时间表达1.Just = Recently 最近 just常被用来表达,某事 ...
- JavaScript在HTML中的基础用法总结
网页主要由三部分组成,分别为HTML.CSS和Javascript.如果说HTML是肉身,CSS是皮相,那Javascript就是灵魂.因此,三者的联系与融合则至关重要.本文就来为大家讲解一下Java ...
- java中trim函数用法_深入理解jQuery.trim() 函数及trim()用法
jQuery.trim() 函数及trim()用法详解 jQuery.trim()函数用于去除字符串两端的空白字符.该函数可以去除字符串开始和末尾两端的空白字符(直到遇到第一个非空白字符串为止).它会 ...
- es6 获取对象的所有值_前端开发必备 - ES6 新特性之 Set和Map数据结构
往期回顾: 前端开发必备 - ES6 新特性之 let 和 const 命令 前端开发必备 - ES6 新特性之 变量的解构赋值 前端开发必备 - ES6 新特性之 字符串的拓展 前端开发必备 - E ...
- 一个普通it人的十年回顾_十年高考试题中的it用法解析
在高考单项填空试题的选项中,it是出现频率较高的词汇之一.下面针对近十年高考中涉及到it的题目进行分类解析: 一. 作为正确项的it 1. I like ________ in the autumn ...
- ctf 文件头crc错误_[CTF隐写]png中CRC检验错误的分析
[CTF隐写]png中CRC检验错误的分析 最近接连碰到了3道关于png中CRC检验错误的隐写题,查阅了相关资料后学到了不少姿势,在这里做一个总结 题目来源: bugku-MISC-隐写2 bugku ...
- css如何调整红心样式_在JavaScript应用程序中包含CSS的多种方法「渡一」
原文链接:https://css-tricks.com/the-many-ways-to-include-css-in-javascript-applications/,作者:Dominic Magn ...
最新文章
- MVC 3 登录、注销
- 从扁鹊医术看华为数据中心智能化运维之道
- keras中文文档_【DL项目实战02】图像识别分类——Keras框架+卷积神经网络CNN(使用VGGNet)
- android和java中常见 Exception
- HTML5在线编辑器Wysihtml5之Bootstrap扩展
- 传统JDBC的弊病和mybatis的解决方案
- datepicker不能选择是为什么_为什么婚车不能倒退 婚车不能走回头路吗
- 虚拟仿真港珠澳大桥,大湾区综合管理信息系统
- 使用DSP28335控制三相三电平PWM整流器-软启动
- DNS地址,DNS服务器作用
- 跨域 SameSite secure
- 战舰世界选服务器删除什么文件夹,《战舰世界》常见问题解决方案合集
- 茎叶图、箱图是什么,如何用SPSS实现?(图文)
- php原生检测用户,php代码在线测试_php检测用户在线状态的实例代码
- 12、Urban Radiance Fields
- processing实现图像碎片化
- java 修饰符 详解,详解Java修饰符
- 计算机基础知识1000题,计算机基础知识题库1000道,这一千道题比较好.doc
- linux 文件夹 775,linux - 如何为文件夹及其所有子文件夹和文件设置chmod?
- openlayers3教程详细_OpenLayers 3 入门教程