Khan / Khan/live-editor

Basic features and some ES6 doesn't work.

Open
#651 7 comments 2 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
776
Forks
180
PR merge metrics
No merged PRs in 30d

Description

I would really like if we could use all of this in our Khan Academy code:
```
function f() { // Very basic. Yet Oh Noes prefers us writing it the messier way.
}
async function getButtonPressed() { // No, I didn't mean to type "asin", Oh Noes.
return (await buttonClickedPromise).name;
}
class HowAboutThis { // It would also be nice if we could do elegant classes like this.
constructor(x) {
this.x = x;
}
}
let thisDoesntWork = true;
const neitherDoesThis = true;

square = x => x * x; // Arrow functions would also be good

let enhancedObjectLiteral = {
value: 3,
square, // Easy shorthand for square: square,
getDoubleValue() { return value * 2; } // Easy methods read like functions
};

function defaultParametersAreVeryUseful(a, isCorrect=true, b, c) {}
function restParametersAreBetterThanArgumentsList(a, b, ...rest) {}

for (let x of iterable) {
// much better than "for (var i = 0; i < iterable.length; i++) { iterable[i] }
}

function * getPositiveIntegers(x=0) {
yield x + 1;
}

// Thanks for your consideration. Teaching new programmers ES6 features will not only help their code be better, it will make sure they are up to date with modern JavaScript when they eventually get a job.
```

Contributor guide

No contributing guide indexed for this repository

Research direction

No files, tests, or entry points are named in the issue. Start by locating the live editor's JavaScript parsing or execution entry points and determine which listed ES6 constructs are unsupported; done means the requested syntax works in Khan Academy code.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.