Created
November 2, 2018 13:16
-
-
Save douglaspetrin/e89302869d02fd2c04490c0a144a7ec4 to your computer and use it in GitHub Desktop.
JS Bin // source https://jsbin.com/xehowoc
This file contains 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> | |
<script id="jsbin-javascript"> | |
// ES7 Version | |
'use strict'; | |
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() { | |
var _this = this; | |
_classCallCheck(this, Human); | |
this.gender = 'male'; | |
this.printGender = function () { | |
console.log(_this.gender); | |
}; | |
}; | |
var Person = (function (_Human) { | |
_inherits(Person, _Human); | |
function Person() { | |
var _this2 = this; | |
_classCallCheck(this, Person); | |
_get(Object.getPrototypeOf(Person.prototype), 'constructor', this).apply(this, arguments); | |
this.name = 'Doug'; | |
this.printMyName = function () { | |
console.log(_this2.name); | |
}; | |
} | |
return Person; | |
})(Human); | |
var minhaconstante = new Person();{ | |
minhaconstante.printMyName(); | |
minhaconstante.printGender(); | |
} | |
// quando usa o extends, estamos usando uma heranca e trazendo o Human para dentro da classe Person | |
// desse modo, temos q usar o super() ** | |
</script> | |
<script id="jsbin-source-javascript" type="text/javascript">// ES7 Version | |
class Human { | |
gender = 'male'; | |
printGender = () => { | |
console.log(this.gender); | |
} | |
} | |
class Person extends Human { | |
name = 'Doug'; | |
printMyName = ( )=> { | |
console.log(this.name); | |
} | |
} | |
const minhaconstante = new Person (); { | |
minhaconstante.printMyName(); | |
minhaconstante.printGender(); | |
} | |
// quando usa o extends, estamos usando uma heranca e trazendo o Human para dentro da classe Person | |
// desse modo, temos q usar o super() **</script></body> | |
</html> |
This file contains 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
// ES7 Version | |
'use strict'; | |
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() { | |
var _this = this; | |
_classCallCheck(this, Human); | |
this.gender = 'male'; | |
this.printGender = function () { | |
console.log(_this.gender); | |
}; | |
}; | |
var Person = (function (_Human) { | |
_inherits(Person, _Human); | |
function Person() { | |
var _this2 = this; | |
_classCallCheck(this, Person); | |
_get(Object.getPrototypeOf(Person.prototype), 'constructor', this).apply(this, arguments); | |
this.name = 'Doug'; | |
this.printMyName = function () { | |
console.log(_this2.name); | |
}; | |
} | |
return Person; | |
})(Human); | |
var minhaconstante = new Person();{ | |
minhaconstante.printMyName(); | |
minhaconstante.printGender(); | |
} | |
// quando usa o extends, estamos usando uma heranca e trazendo o Human para dentro da classe Person | |
// desse modo, temos q usar o super() ** |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment