jskatas.org Open in urlscan Pro
2001:67c:1401:20f0::1  Public Scan

Submitted URL: http://jskatas.org/
Effective URL: https://jskatas.org/
Submission: On October 20 via api from US — Scanned from DE

Form analysis 0 forms found in the DOM

Text Content

jskatas.org Continuously Learn JavaScript. Your Way.
 * Katas
 * Blog
 * About
 * πŸ‡ΊπŸ‡¦


JAVASCRIPT - LEARN WITH TESTS

πŸ‘€ You're a newbie, JSKatas takes you by the hand and helps you learn at your
speed! Start with an easy kata to get the hang of it and find out if you like
it. For example learn how to declare a variable.

πŸ§›πŸΌ You're a seasoned pro, discover hidden JavaScript gems πŸ’Ž.
Do you know all three bitwise shift operators? πŸ€”

πŸš€ You feel like you're ready to learn Arrays? This course cover the creation of
an array all the way to how to filter πŸ”, convert πŸ™…πŸΌβ€β™‚οΈ, map πŸ“, reduce ♻️ and
sort βœ”οΈ arrays. Arrays are everywhere.

⏰ You want to learn all of JavaScript, even ECMAScript1?
Find all chronologically sorted katas here.


LATEST UPDATES

October 15th, 2023
πŸ†• NEW: function.name kata.
🌟 Two katas in progress: Symbol.hasInstance and function.name in depth.
October 14th, 2023
✨ Add 'How to' on the kata pages.
🧹 Improved class-creation kata. Explains better, covers more knowledge.
Two new katas: πŸ†• function.length for ES1 and πŸ†• with ES6 features.
October 11th, 2023
πŸ†• array.shift() first introduced in 1999, has a kata now.
The kata for let is now in GIVEN-WHEN-THEN style for better usability.
October 9th, 2023
🐞 Bugfix: Make the let kata work again, it runs in a worker thread now (see
issue).
October 8th, 2023
πŸ†• New kata: String.raw.
September 30th, 2023
Dive into JavaScript arrays β€” the first in-depth article in our series!
September 29th, 2023
Configure the behavior on the kata site, turn on/off the auto-open of the first
kata, and more.
September 26th, 2023
πŸŽ‰ πŸŽ‰ πŸŽ‰ A Big Change. πŸŽ‰ πŸŽ‰ πŸŽ‰
Now you can solve the katas inline without going to tddbin.
September 4th, 2023
πŸ†• New kata Bitwise Shift Operators: Right Shift ">>"
πŸ†• New kata All bitwise shift operators
September 1st, 2023
πŸ†• New kata Bitwise Shift Operators: Left Shift "<<"


TOPICS 119 KATAS


ARRAY API

array.entries()
array.fill()
array.find()
array.findIndex()
array.flat() #in progress
array.flatMap() #in progress
Array.from()
array.includes()
array.keys()
Array.of()
array.shift() #new
array.sort() basics
array.sort() can take a compare function
array.values()
stable array.sort() #in progress


STRING API

string.endsWith()
string.includes()
string.matchAll()
string.matchAll() in depth #in progress
String.raw #new
string.repeat(count)
string.startsWith()
string.trimEnd() #in progress
string.trimStart()


CLASS

accessors
creation
extends
more extends
static
super in constructor
super in method


DESTRUCTURING

array
assign
defaults
object
parameters
string


GENERATOR

return inside a generator function
creation
iterator
send function to a generator
send value to a generator
yield expressions


OBJECT API

Object.entries() #in progress
Object.fromEntries()
Object.fromEntries() in depth
Object.is()
Object.values() #in progress


MAP

map.get()
map.has()
map.set()
Basics
initialize


SET

set.add()
set.clear()
set.delete()
basics
the API


REFLECT

Reflect.apply()
Reflect.construct()
Reflect.defineProperty()
Reflect.getPrototypeOf()
Basics


PROMISE

promise.catch()
basics
chaining then()
creation
the API


FUNCTION API

function.length (as per ES1 spec) #new
function.length (with ES6 features) #new
function.name #new
function.name - in depth #in progress
function.toString() #in progress


TEMPLATE STRINGS

raw property
basics
multiline
tagged template strings


OBJECT LITERAL

basics
computed properties
getter
setter


SYMBOL

Symbol.for()
Symbol.hasInstance method #in progress
Symbol.keyFor()
basics


ITERATOR

array
protocol
string
usage #in progress


NUMBER API

Number.isInteger()
Number.isNaN()
Number.parseInt()
πŸ“•Β Building the parseInt() Katas


UNARY OPERATORS

All unary operators
Unary "+" operator
Unary "+" operator, in depth
πŸ“•Β What's an "Unary" Operator?


BITWISE SHIFT OPERATORS

All bitwise shift operators #new
Left Shift "<<" #new
Right Shift ">>" #new


ARROW FUNCTIONS

basics
function binding


BLOCK SCOPE

const declaration
let declaration


REST OPERATOR

as parameter
with destructuring


SPREAD OPERATOR

with arrays
with strings


GLOBAL OBJECT API

parseInt()
parseInt() in depth #in progress
πŸ“•Β Building the parseInt() Katas


TYPE CONVERSION

to boolean #in progress
to number #in progress


BIGINT

Basics


JSON API

well-formed JSON.stringify() #in progress


JSON SUPERSET

JSON superset basics #in progress


SYMBOL API

symbol.description #in progress


TRY-CATCH

unbinded catch #in progress


ASYNC FUNCTION

basics


UNICODE

in strings


DEFAULT PARAMETERS

Basics


MODULES

import statement #in progress
Topics JS Versions Random Kata
all easy medium hard


PAGES

 * Katas
 * Blog
 * About
 * πŸ‡ΊπŸ‡¦


CONTACT

 * @jskatas on twitter
 * @WolframKriesing on Mastodon
 * Made by @WolframKriesing
 * Email to author


SOURCE CODE

 * Page code at codeberg.org
 * Kata's at codeberg.org

☰
 * Katas
 * Blog
 * About
 * πŸ‡ΊπŸ‡¦