ES6----class用法

http://es6.ruanyifeng.com/#docs/class         阮一峰老师的ES6入门

一:知识点:

1.基本上,ES6 的class可以看作只是一个语法糖,它的绝大部分功能,ES5 都可以做到。

2.ES6 的类,完全可以看作构造函数的另一种写法。

3,.类的方法都定义在prototype对象上面,所以类的新方法可以添加在prototype对象上面。

向类中添加方法

Object.assign(Point.prototype, {
  toString(){},
  toValue(){}
});

4.类中的方法不可枚举。

二:class经典实例

class Person {
constructor(name,age){
    this.name=name;
    this.age=age;
}
sayname(){
    console.log(this.name);
}
}

var person1=new Person("li",23);
person1.sayname();
console.log(person1.hasOwnProperty(‘name‘)); //true
console.log(person1.hasOwnProperty(‘sayname‘));  // false
console.log(person1.__proto__.hasOwnProperty(‘sayname‘));// true

var person2=new Person("han",27);
console.log(person1.__proto__ === person2.__proto__ );//true

类的所有实例共享一个原型对象。

class不存在变量提升。

三:class---private

1.私有方法

ES6不支持,变通实现

方法一:在函数前加_,表示该方法私有

方法二:将私有方法移出类中。

方法三:使用symbol----利用Symbol值的唯一性

2.私有属性

ES6不支持,变通实现

方法:属性前加#

四:补充知识点

this指向当前对象,一般在构造函数中使用。

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

基本内容就这些了 = =;

时间: 2024-10-13 06:00:04

ES6----class用法的相关文章

Es6 Promise 用法详解

Promise是什么?? 打印出来看看  console.dir(Promise) 这么一看就明白了,Promise是一个构造函数,自己身上有all.reject.resolve这几个眼熟的方法,原型上有then.catch等同样很眼熟的方法.这么说用Promise new出来的对象肯定就有then.catch方法喽,没错. 那就new一个玩玩吧. var p = new Promise(function(resolve, reject){ //做一些异步操作 setTimeout(functi

ES6 Promise 用法讲解(转)

Promise是一个构造函数,自己身上有all.reject.resolve这几个眼熟的方法,原型上有then.catch等同样很眼熟的方法. var p = new Promise(function(resolve, reject){ //做一些异步操作 setTimeout(function(){ console.log('执行完成'); resolve('随便什么数据'); }, 2000);}); Promise的构造函数接收一个参数,是函数,并且传入两个参数:resolve,rejec

ES6 Promise 用法讲解

Promise是一个构造函数,自己身上有all.reject.resolve这几个眼熟的方法,原型上有then.catch等同样很眼熟的方法. 那就new一个 例1:var p = new Promise(function(resolve, reject){ //做一些异步操作 setTimeout(function(){ console.log('执行完成'); resolve('随便什么数据'); }, 2000); }); 例2:/* 定义一个使用promise的ajax请求,这里依赖jq

转--ES6 Promise 用法讲解

Promise是一个构造函数,自己身上有all.reject.resolve这几个眼熟的方法,原型上有then.catch等同样很眼熟的方法. 那就new一个 var p = new Promise(function(resolve, reject){ //做一些异步操作 setTimeout(function(){ console.log('执行完成'); resolve('随便什么数据'); }, 2000); }); Promise的构造函数接收一个参数,是函数,并且传入两个参数:reso

ES6 Promise用法讲解

所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果. ES6 规定,Promise对象是一个构造函数,用来生成Promise实例. 下面代码创造了一个Promise实例. const promise = new Promise(function(resolve, reject) { // ... some code if (/* 异步操作成功 */){ resolve(value); } else { reject(error); } }); P

ES6 let用法

1.实现块作用域 2.不存在变量提升. ES6 明确规定,如果区块中存在let和const命令,这个区块对这些命令声明的变量,从一开始就形成了封闭作用域.凡是在声明之前就使用这些变量,就会报错.

es6 export-from用法

语法: export * from "foo"; export {foo} from "foo"; export {foo, bar} from "foo"; export {foo as bar} from "foo"; export {foo as default} from "foo"; export {foo as default, bar} from "foo"; export

ES6 Promise 用法

用多了异步回调函数,起初看Promise也是一头雾水....其实也很简单: 由浅入深先看下面: Promise其实是一个构造函数; 用new操作符; Promise接收一个函数作为参数;先不看resolve和reject; 在这里只想说明一点的是:new 一个Promise之后 ,promise中的函数的代码会自动运行;(打开浏览器试试) 但是更多的是做一些异步操作,而不是直接输出console.log(" "); 说来说去这到底跟resovle,和reject这两个有啥关系呢,我们可

ES6 Promise用法详解

What is Promise? Promise是一个构造函数,接受一个参数(Function),并且该参数接受两个参数resolve和reject(分别表示异步操作执行成功后的回调函数.执行失败后的回调函数) var p = new Promise(function(resolve, reject){ setTimeout(function(){ console.log('执行完成'); resolve('成功了!'); }, 2000); }); 运行代码,2秒后输出"执行完成".

常用es6特性

随着react和vue的普及,很多互联网公司都开始用上这两个框架了,es6的写法也越来越普遍,简洁,我利用利用平时业余时间也写了些es6的小项目练练手,下面总结下一般es6常用的新特性: 1,申明变量let和const: js由于没有块级作用域,变量在申明他们的函数体内以及这个函数体内嵌套的任何函数体内都是有定义的(申明提前),例如: function test(){ console.log(i); //undefined for(var i=0;i<10;i++){} console.log(