UNICODE ... is an international encoding standard 01 02 03 is a mapping from each letter, digit or symbol to a numeric value works across different platforms and programs
characters for almost all modern languages + a lot of of symbols Basic Multilingual Plane U+0000 to U+FFFF Supplementary Planes U+10000 to U+10FFFF U+10000 to U+1FFFF U+20000 to U+2FFFF U+30000 to U+DFFFF U+E0000 to U+EFFFF U+F0000 to U+10FFFF Supplementary Multilingual Plane Supplementary Ideographic Plane Supplementary Special-purpose Plane Supplementary Private Use Area Planes unassigned 1 plane 1 plane 1 plane 1 plane 2 planes 16 planes 11 planes UNICODE - Basic Multilingual Plane -
EMOJIS ... were initially used by Japanese mobile operators 01 02 03 were added to Unicode v6 in October 2010 are supported since OS X 10.7 (Lion) and Windows 8
How many Emojis are out there? EMOJIS - overview - 2198 unicode.org/reports/tr51/#Identification (excluding incomplete singletons) (excluding duplicates) (including all combined sequences)
JAVASCRIPT UTF-16, the string format used by JavaScript, uses a single 16-bit code unit to represent the most common characters. - string representation -
Surrogate Pairs JAVASCRIPT - surrogate pairs - 2048 surrogate code points included in the Basic Multilingual Plane Leading/High Surrogates Trailing/Low Surrogates U+D800 to U+DBFF U+DC00 to U+DFFF C = (H - 0xD800) * 0x400 + L - 0xDC00 + 0x10000 Formula to get code point C = (H - 55296) * 1024 + L - 56320 + 65536
- the spread operator - The spread operator works for every iterable object. [...'ABC'] JAVASCRIPT > ''[Symbol.iterator] function [Symbol.iterator]() { [native code] }
- the spread operator - [...] iterates over the code points of a String value, returning each code point as a String value. String.prototype [ @@iterator ]( ) JAVASCRIPT