Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- "use strict";
- function Person(name, middlename, lastname) {
- this.name = ""
- this.middlename = ""
- this.lastname = ""
- Object.defineProperties(this, {
- name: {
- get: function() {
- return name;
- },
- set: function(value) {
- if (!/^\w+$/.test(value))
- throw new Error(`name must contain only word characters`)
- name = value;
- }
- },
- middlename: {
- get: function() {
- return middlename;
- },
- set: function(value) {
- if (!/^\w+$/.test(value))
- throw new Error(`middlename must contain only word characters`)
- middlename = value;
- }
- },
- lastname: {
- get: function() {
- return lastname;
- },
- set: function(value) {
- if (!/^\w+$/.test(value))
- throw new Error(`lastname must contain only word characters`)
- lastname = value;
- }
- },
- });
- this.name = name;
- this.middlename = middlename;
- this.lastname = lastname;
- }
- Person.prototype.toString = function() {
- return `${this.name} ${this.middlename} ${this.lastname}`;
- }
- function main() {
- let p = new Person("A", "B", "C");
- console.log(p.toString());
- p.name = "D";
- console.log(p.name);
- }
Add Comment
Please, Sign In to add comment