class MyComponent extends Component { constructor() { super(); this.state = {}; } render() { doStuff(this.state); } }
class MyComponent extends Component { // Create a public field named `state`. state = {}; render() { doStuff(this.state); } }
requestFullScreen()
autoplay
window.open()
postMessage()
userActivation
navigator
MessageEvent
hasBeenActive
isActive
Window
Worker
MessagePort
includeUserActivation
// Check that WindowPostOptions is supported if (window.parent.postMessage.length === 1) { window.parent.postMessage('resize', {includeUserActivation: true}); } else { window.parent.postMessage('resize', '/'); }
if (event.userActivation && event.userActivation.isActive) { return Promise.resolve(); }
Cache.prototype.addAll()
InvalidStateError
Intl.ListFormat() API
const lf = new Intl.ListFormat('en'); lf.format(['dogs']); // → 'dogs' lf.format(['dogs', 'cats']); // → 'dogs and cats' lf.format(['dogs', 'cats', 'hamsters']); // → 'dogs, cats, and hamsters'
FetchEvent.resultingClientId
FetchEvent
MediaStreamTrack
"none"
"crop-and-scale"
RTCPeerConnection.connectionState
RTCPeerConnection.iceConnectionState
JSON.stringify()
JSON.stringify("\uD800");
File.webkitRelativePath
/tmp/a/foo/bar/1.txt, /tmp/a/foo/2.txt
foo/bar/1.txt, foo/2.txt
tmp/a/foo/bar/1.txt, tmp/a/foo/2.txt
PaymentAddress.languageCode
languageCode