.DS_Store
# Learn ES6 (ECMAScript 2015)

![](https://d2eip9sf3oo6c2.cloudfront.net/series/square_covers/000/000/049/full/EGH_LearnES6_Final.png?1496436434)

This course takes a look at some of the new features that JavaScript has available with ES6 (ECMAScript 2015). It is a "montage" from several instructors.

Each lesson's code is in its corresponding lesson folder. Plunks are drawn from the lesson's branch.
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>Plunker</title>
</head>
<body>
	<script src="script.js"></script>
</body>
</html>
console.clear();

function ajax({
  type = "get",
  url = requiredParameter("url"),
  data = {},
  success = requiredParameter("success"),
  error = () => {},
  isAsync = true } = {}) {
	console.log(JSON.stringify({ type, url, data, success, error, isAsync }, null, 2)) || displayInPreview(JSON.stringify({ type, url, data, success, error, isAsync }, null, 2));
}

function requiredParameter(name) {
	throw new Error(`Missing parameter "${name}"`);
}

try {
	ajax({
		url: "https://my.api.io",
		success: () => {}
	});
} catch (e) { console.warn(e.message) || displayInPreview(e.message) }



// display in plunker preview
function displayInPreview(string) {
  var newDiv = document.createElement("div"); 
  var newContent = document.createTextNode(string); 
  newDiv.appendChild(newContent);
  document.body.appendChild(newDiv)
}