Created
July 20, 2018 15:36
-
-
Save redvg/4da99aaa0a691cd43890c5af2140c7a8 to your computer and use it in GitHub Desktop.
JS Bin // source https://jsbin.com/kiqiyev
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <meta charset="utf-8"> | |
| <meta name="viewport" content="width=device-width"> | |
| <title>JS Bin</title> | |
| </head> | |
| <body> | |
| <p>playing with es6 in console</p> | |
| <script id="jsbin-javascript"> | |
| 'use strict'; | |
| var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); | |
| var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; desc = parent = getter = undefined; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; | |
| function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } | |
| function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } | |
| var Human = function Human() { | |
| _classCallCheck(this, Human); | |
| this.gender = 'm'; | |
| }; | |
| var Person = (function (_Human) { | |
| _inherits(Person, _Human); | |
| function Person() { | |
| _classCallCheck(this, Person); | |
| _get(Object.getPrototypeOf(Person.prototype), 'constructor', this).call(this); | |
| this.name = 'Me'; | |
| } | |
| _createClass(Person, [{ | |
| key: 'print', | |
| value: function print() { | |
| console.log(this.name, this.gender); | |
| } | |
| }]); | |
| return Person; | |
| })(Human); | |
| var x = new Person(); | |
| x.print(); | |
| var NewHuman = function NewHuman() { | |
| _classCallCheck(this, NewHuman); | |
| this.gender = 'm new'; | |
| }; | |
| var NewPerson = (function (_NewHuman) { | |
| _inherits(NewPerson, _NewHuman); | |
| function NewPerson() { | |
| var _this = this; | |
| _classCallCheck(this, NewPerson); | |
| _get(Object.getPrototypeOf(NewPerson.prototype), 'constructor', this).apply(this, arguments); | |
| this.name = 'me new'; | |
| this.print = function () { | |
| console.log(_this.name, _this.gender); | |
| }; | |
| } | |
| return NewPerson; | |
| })(NewHuman); | |
| var y = new NewPerson(); | |
| y.print(); | |
| //gender = 'not from super'; | |
| </script> | |
| <script id="jsbin-source-javascript" type="text/javascript">class Human { | |
| constructor(){ | |
| this.gender = 'm'; | |
| } | |
| } | |
| class Person extends Human{ | |
| constructor(){ | |
| super(); | |
| this.name = 'Me'; | |
| } | |
| print(){ | |
| console.log(this.name, this.gender); | |
| } | |
| } | |
| const x = new Person(); | |
| x.print(); | |
| class NewHuman{ | |
| gender = 'm new' | |
| } | |
| class NewPerson extends NewHuman { | |
| name = 'me new'; | |
| //gender = 'not from super'; | |
| print = () => { | |
| console.log(this.name, this.gender); | |
| } | |
| } | |
| const y = new NewPerson(); | |
| y.print();</script></body> | |
| </html> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 'use strict'; | |
| var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); | |
| var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; desc = parent = getter = undefined; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; | |
| function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } | |
| function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } | |
| var Human = function Human() { | |
| _classCallCheck(this, Human); | |
| this.gender = 'm'; | |
| }; | |
| var Person = (function (_Human) { | |
| _inherits(Person, _Human); | |
| function Person() { | |
| _classCallCheck(this, Person); | |
| _get(Object.getPrototypeOf(Person.prototype), 'constructor', this).call(this); | |
| this.name = 'Me'; | |
| } | |
| _createClass(Person, [{ | |
| key: 'print', | |
| value: function print() { | |
| console.log(this.name, this.gender); | |
| } | |
| }]); | |
| return Person; | |
| })(Human); | |
| var x = new Person(); | |
| x.print(); | |
| var NewHuman = function NewHuman() { | |
| _classCallCheck(this, NewHuman); | |
| this.gender = 'm new'; | |
| }; | |
| var NewPerson = (function (_NewHuman) { | |
| _inherits(NewPerson, _NewHuman); | |
| function NewPerson() { | |
| var _this = this; | |
| _classCallCheck(this, NewPerson); | |
| _get(Object.getPrototypeOf(NewPerson.prototype), 'constructor', this).apply(this, arguments); | |
| this.name = 'me new'; | |
| this.print = function () { | |
| console.log(_this.name, _this.gender); | |
| }; | |
| } | |
| return NewPerson; | |
| })(NewHuman); | |
| var y = new NewPerson(); | |
| y.print(); | |
| //gender = 'not from super'; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment