Getters Setters (Pure JS)

Reactive input using getters and setters with pure javascript (no frameworks)

by Roland Doda

HTML

<input 
    type="text"
    id="full_name"
    oninput="add_full_name(event.target.value)"
    placeholder="Type full name"
  />

  <div id="output"></div>

JavaScript

let output = document.getElementById("output");
let full_name_input = document.getElementById("full_name");
let created_person = {
  name: 'Roland',
  last_name: 'Doda',
  get get_full_name() {
    return `${this.name} ${this.last_name}`
  },
  set set_full_name(new_value) {
  	this.name = new_value.split(' ')[0] || ''
    this.last_name = new_value.split(' ')[1] || ''
  }
}

full_name_input.value = created_person.get_full_name
output_full_name()


function add_full_name (full_name) {
	created_person.set_full_name = full_name
  output_full_name()
}

function output_full_name () {
	output.innerHTML = created_person.get_full_name
}