From 0f979dfe89654f8b417726eadc9facc90f21dc46 Mon Sep 17 00:00:00 2001 From: Corbin Crutchley Date: Wed, 15 Mar 2023 03:55:49 -0700 Subject: [PATCH 1/4] docs: initial blog post outline --- .../blog/js-classes-without-keyword/index.md | 155 ++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 content/blog/js-classes-without-keyword/index.md diff --git a/content/blog/js-classes-without-keyword/index.md b/content/blog/js-classes-without-keyword/index.md new file mode 100644 index 00000000..aa2e4460 --- /dev/null +++ b/content/blog/js-classes-without-keyword/index.md @@ -0,0 +1,155 @@ +--- +{ + title: "Using JavaScript Classes without the `class` keyword", + description: "", + published: '2023-03-16T21:52:59.284Z', + authors: ['crutchcorn'], + tags: ['computer science'], + attached: [], + license: 'cc-by-4' +} +--- + +Classes in JavaScript are both powerful and weird. While they allow us to create named objects with similarly purposed methods and properties, they're often misunderstood because of nuanced in the language itself. + +Let's look at: + +- How to create an object +- + + + + + + + + + +Let's look at a basic JavaScript object and see what an analogous class might look like: + +```javascript +class User { + name = "Corbin", + username = "crutchcorn", + sayCatchphrase() { + console.log("It depends"); + } +} +``` + +```javascript +class User { + constructor() { + this.name = "Corbin", + this.username = "crutchcorn", + this.sayCatchphrase = function() { + console.log("It depends"); + } + } +} +``` + +```javascript +const userObject = { + name: "Corbin", + username: "crutchcorn", + sayCatchphrase: function() { + console.log("It depends"); + } +} +``` + +```javascript +function User() { + return { + name: "Corbin", + username: "crutchcorn", + sayCatchphrase: function() { + console.log("It depends"); + } + } +} + +new User(); +``` + +But it's more helpful to think of `User` as an analogous for `constructor`: + +```javascript +function User() { + this.name = "Corbin"; + this.username = "crutchcorn"; + this.sayCatchphrase = function() { + console.log("It depends"); + } +} +``` + +## Prototype Manipulation + +Knowing this: + +```javascript +function User() { + this.name = "Corbin"; + this.username = "crutchcorn"; +} + +User.prototype.sayCatchphrase = function() { + console.log("It depends"); +} +``` + + + +## Class Extension + +```javascript +function Person() { +} + +Person.prototype.test = "1" + + +function Pix() { +} + +Pix.prototype = Object.create(Person.prototype) +Pix.prototype.other = "2" + +(new Pix()).test // 1 +(new Pix()).other // 2 + +(new Person()).test // 1 +(new Person()).other // undefined +``` + + + + + +# Static Methods + +```javascript +class User { + name = "Corbin", + username = "crutchcorn", + static sayCatchphrase() { + console.log("It depends"); + } +} +``` + +```javascript +function User() { + this.name = "Corbin", + this.username = "crutchcorn", +} + +User.sayCatchphrase() { + console.log("It depends"); +} +``` + + + From 437f9ed1723eda1e28af33bbd0ebb21e349b7bad Mon Sep 17 00:00:00 2001 From: Corbin Crutchley Date: Thu, 29 Jun 2023 00:12:12 -0700 Subject: [PATCH 2/4] docs: add more content to the JS class article --- .../class_compat.png | Bin 0 -> 114573 bytes .../blog/js-classes-without-keyword/index.md | 96 +++++++++++++++--- 2 files changed, 82 insertions(+), 14 deletions(-) create mode 100644 content/blog/js-classes-without-keyword/class_compat.png diff --git a/content/blog/js-classes-without-keyword/class_compat.png b/content/blog/js-classes-without-keyword/class_compat.png new file mode 100644 index 0000000000000000000000000000000000000000..c35e6a5f83c53ac3a1f0af7d40038560674e2758 GIT binary patch literal 114573 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

X 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

GAgXeLF6&Ax)B4S16>4)L3>eJE$K^IbF(0@B zmH>ht0*_7HNkKQ9Zu*!P6L4v3qsQ307B0}`!GJXz0kC?#%6iW-p`&`mgRj4&`jI;z zqyjqS{z$CVe3B+((6UevOud}p#Dny~1OD+UK=Wm1nz29WwLf!(e2}tt4IaH}$EC?O zm%%IAyN$iz;ln%}0?1+&ruXwCrL( zr@K4FWR%g0<&{t$i1mxN>*J+Mde0^*A4MpeKtol|9tji-ZWmpN&E5b zy>3p{hMW6mk1eFpWgL>BE=jwx^?ld9%yTcbW_CVGZ)3d0;Hvf*q>BgCG|24%y(ccF zgVH+K=LiLgCAmCN{C)WiDLRrx|5bu5&&pWtno9ttKHV3|>|PSpCgHGJ`rCc!Ub!G* z8WNA??o)5n(%x{wESyIomBHk4$cr?@9lNLi-S|`ye(ak&=9N=&<7~mz{D$t`kS~7r zpz$0?+v`yYdlP%x&!?hv5G;L-==72cY-UXX(@>$yDF!0eOTx4LFIO6Z+^3d_63;=_ z6nu&uzM-ABezO>j+dhB_uUYPt5OLCe^{=*P1ld2&qzCAm`yWUQ9KadM>BzkJARjF3 zjrv4$;9wA;^mRv_Pos2wrYZHJ1E3op4?4IbURO|�vA4`VIRt*=(nkT`_=Mq>q7? zQnnXPq@Y4uTno*c!czrz`dln{Kq5NJ8v@M%*o)cxA(B@;19wG}Q>p!yav?)(V;hoeeRD0Hg4dSfw2n^{qAUu_&6>^$zgo>YeuGb z_71?N4PJF6Rx`Eh&0g3Ss&((N*$eDavhd z?RcP&O7Usn&?&FcixyILwPbCZP-@XSlU(-*FK(*`@ayZ(WEMZ!vRcCHZ(XEDp(|#D zg^$!aXFVBLlYDW6k|MCvd?Mau{Mhf?9z1o2T& zNI5futq@54ou>miGR4|Ry_swIjoK22n$RK4XbZCV;jNI*8td z{!NfAI?3O)438osJl7>$7(K6wi^8u-K2tx5eVBsy{5<%zE3YQ27RO4#=7`wk0fgjY9i71yIB~>$h>x2 z86Hz~T)+EDSie2?DHb6+$V}c;Y`xSC6cpw$)CXoLNZq!LmGf*Dg!sNrgGA=!aaQdq z*Hl8hH^P;{^I;N<#b&nSn#IR_aKUuj}K^euqv{3eF^n3gm-tHKBQy*@aZLVe4*QHE6ELP-THDlkt7Bd7aRCv?p^djKUJw`x?3?-VbHug3yH z`N`KXcFa~zkGIlO@KO^=BZ%DKn;rsljXJ<=Syv!!#On8p9&C0lWP54Gco|~LFB{fr zXdvfuRWWpyY*(&%TrcW)e;lHc(dA09?i#Ui4}ni!J)co*is7%GiuA{%%q%RHl;Y=k zO+uE1%R62-&DwHZgMGawlK54y@1h#M1y7DoCIxZNc=n5T-yVyk^w?Y7Nm%XySQwL} zd&XTQ*t+TY)Ac-@@ue#ssHnSkck@^PMQxKgRkDz%&rw{j?^%o;E1gT%tSC|Sd|}mD zzbF(oR7jx_am>wD{)o!WbZvw*#-vVM#4fa(Pb4YTFTqg$=94lpq;Ct>rmU23ux)IZ zGwjQ=zmU63i(u<^uQtb>OQT-#$IgKTNkU%5S>t zYmK-*lMj<|`m`|WHP*9{X%&)N6P54_G)%WKWknjEK1NWD=SfJ4f&R*D~k^-G7 zs;Tx(f+m&X`=hMApt?yS)$-k_zhg0#^PnNu{5?dWuXF#h>nlh6{*KqIj5|zwS>egy zt;UX1F8$@FN>;x8&S*aZDr;W4)tPe$s8vPS4P1C6fz(s6 z!9_b4u{_{p+YAToxvJJAzrQ$v+9nR)ZpE)~j^{xFlbuFf^_>i+tBRs5vs>~L?+m6y z^pei>{uK4}qhk?!RT97X5WQP;AVC@l{+NSE0evoag>S7w!rr;_zEn6nTGx5MJ4%-Nz=FJ=aTx}4V7Rn<#LAB?95#5Cl*kx_ z7Vj5p8(@ktxN6pC6`js<#WIN=P2jMCAc-#4`rb23IH{n{+V1vvlBOq^4Fz`Vf#Mr0{{%+o zflBYTi(^@S4&*}f>tg7VC&_a~aAnTZ`hv{of58;!!O#t@5SsN1(BW(V)vi?nS>|g1 z##Dt10<~{NSb+e5&nP|h8SDxt&IP+7L(r;EAKs} zA&Q6H6$lA;Euc1%iu7;nqMQ+~VEnMj40%ad0N*3IH1Wn5SE{rsH$`4uK0x{+wX`Rh znCeT%V~)R-`oB^yOIKT*3W2LO5t32%0>|G*sx?jx-3neN*UboFsacJ?TdHNEMU&86 z7bv=ys3ie}JSdB@Fe?nI7@BzFx4<+zi)!CKSTc-N9$Tew0Cn*PPq7ejv0>8A-T^yl z0xsn9frC8J)x_QRXunru&6<+;O)fPln~83hQ5No|RyvkfD^PB*=mCkYU`gzI(D>n* zqsn#iPG_-ta=6!Q3omlH9)=kHC^>w-BH=4;103XUg}0kEQaUl(L%gDP>wtCz5@Nf* z5bLFr<`sub5asodS-DGnJ=PH9XYDf1pv;S}ivQwlLF>l|UMRQKTN3RIKbs)qTwC0d zD`D1HxA#g){r5-PLk~?6F4dw~E-R>T(C5)y7xQfkNe!dG_hcl7(k7}_qibJ=8(jZw zZzfB}1A54d$+rZ2rJWSesJIsTgMC3Z7&T2|2MMT^q}1;y_al@aQAiryNed^TbceNiH~raCRf&#Q ze)aqS_U2Exy(aWNAI?6~S9924iuJiB5Dvwkx0qf40%szUURK(2&K$N`vNr?jWmHc6 z!E?J4{=|LMScxZy-P?s5{G=pOBPWpJj{+(8JLz|3-1E=O615|Zc;80wrBxYhnsBXs zv?P5#RZUojD&Y>}1&w>mk=7RMK^EL(pKtL4k??K?cpAlI;qDxX&g*d$2wdhs=Q;jN zgAk!GHZd6`F!|n}Z8Cyow45`E2#(`)ax71@Pg)K78KF)-pwl|+WRvwSs%BsRfRS4{C9~0+N{D6Tas$6jH(BE&iAT@-4F@1?iYO~AeQ zcao%EVeq04?m%$g%~6xG9C~99^WxIm44cCiaix1(E3fv?ez^s%p8wuHKJB+U$dy6Kkcpp6HDHGzV-7{LJhEG^`+9{U8z7bteC zG?Vkw+d4-WNBd3gMJciTlwhrvNZ)e9tA^9yh8oL53t2L!cMEaofsU4Q>T865TeUC6 zyf>w<^P9XeKCm%mhXPD1m66T0OU4>|YvUx<&=`D@>5Lb+yclTtoW52%-p|adrY5MD zn!NfepSZkW_*f?V>Xi__6~7z5ed;{uzxNh`5@ zf;*d!3dwrtNV=2TE(D$Ch)O4I7A_L!aWQ4Kc4A$V%oX?^Q28XCrU}7T(_0FeXmFDF)KkW5ToWI~2gLsf?p@3}NQc8j=xtQzC)T zD;m)}_{wJ6siaom0uP!@s8(iVtOyF;%s(D$J1D!=N(E$5Jr~<+xcrOK*_*yGWw*rs zcYVT`2}a|1KrqlS z2JGuu3~tw{>eR`5vc3n7F67WMm&NYpC^1NQ>ZNB`F3`74vF+m_{eF6hQ-tkF5a(>cb&&I<2c=2@J7KC8XyVfkXe0*SNAFQDh} z0}Tzf&(NCCb)>lm+O8a>*T=nU?$(gpDg$q@i#QMvJrb7`ouqGJt4NJGfVhX3M=SPO zBjPKY58%6>bTCA|GY~ME^vsHdwo3Fej5;CDv4=ud@sc*Ry{614E~W3b=#+?#3v3@b z8(r*|qGJ6~o^q28y{@BSxez}LQDMW;NC%79E3esMpi4Y-PYqQbyD;`zu=5V^ko=qE zn=wBEmB4DUB`T?}lQ#J63NZ2pc?%TUMmo^<0@c3VOLFV4Qmb=WbL(H}cYaP`E`HTq zxia|sV-`XcXNko2lf7XnY${#BJDyCMN%hTPA1R>Z|2bl%PK) z+@5UilJ|NZbpkjZbBu?_)~jVE4s}BA)XS8Q=PyitmjN$(&RXN(=Oj?ACz5J=X*pbS zK_-w?1knS>Ex?+ZG3Fk)kpqQkZdi_yYl2GMCNGk9S;b*bM(!*$gx`EwAdGfOZ!%7q z^~Otk6s5i^jba@Cvdf`yve{Hy=OI8!k?WliMz3NO3*^1ir=$}!P(TGVj&|rkZ1(CZ zsdQ@Q%|`(_Pc@m#2O68K6I%cGlgK8O`;V+y4B1ZdpSh93Dn-r&g~h6fU#VIX>bdV<{F7 z+d%;-zv0Q>Mvkf11e59)?)tA)XhXhb)GxF&gb{*HGB3~bK-z} zW9v6XbA{7YM_SfuZ{G86GjV#wsu2{;jj6B2oCe7P;hl)!`;FL4$^-THOYyOfPwUe= zdlVqQj9I(6TDQFxmw@`N^4B%jW~M*JcO#c4I|8fyrwjc+r~l&b8M`Nng9VcF<1Uq{mNcH39aeT$AQ8mw&*aAAL7a)fr#I z*WR-f{CtYG==>QPg^vR>el!flJD7&l21xi;rysOmmDx)$masd8WH?cmXRPzi6kYWq zO5$g=!#7S&xu##@2Zq7yHLs+V*=ryOAX~;WorhqOI!Oth>AAvj9+6mYZ0!*)@`QJ* zJ*%?lp5wAb?^2YF-Ma9k#Hmg&YXb1Fn&Iq}@G|V?$BV0HeF7g}RNEMMz#e36>wl{z z%fa@+qDXdL<1L}&Rho`YO|Ob=ICw11R)I&LxAY#l(ci3Ljbr~wkNZ>j&Y{&y)Bc@L z#nl*;Z)X?Atx=STJDpmeaPL40K7L~-*cQGb-upc4&TQ8IFV)Uq65PYNItE7Y^2v|! zjp48i9qqdJOKM8RpmYEy3aXn*7JOPg%DL<4`aJjxu@)cwbX_SIb6YVF zCoFMaWPs9z@|7s*Fs6@jw6zG!4#p2#~cBZ9y&%(p&4IJq_tqRV&Mh5al=hX5y`Dua6RaZ!(3GCyw?*rLJ z*u$TR@o2~=i;VO_MtZ&uvtI>$u#+j_G?=?{F=lEkm$Dn&p6y9&P9ueAnM)cC1^{7`u;6lG= zOs+pA2aGhFAx)0FBl?O(UAW<`=_n->bvm~9=()H3iF9ansj(rUflvFLn?O01u8kJ? zx}$d4xFfL8pELZR3?Witm68MiF>QcEVy4azW-`ktimH&JPFCS+h*kZ(a0Y3R;;Df3 z3`2evoRGkE|Cyu+0=bQyP~=W7@8~aFw7niA=L~Z`KTTHH5vV0c+04a8k&faJ?bk$v zq*4t|`*mnn9&cF#>Tnpy)d_C*LQL3qp|Z~sMp2a?KpsyQ&x6&$&MVoXe)3Ij$HOVJBOe zlU#F@RGpEDS-&R(B$w4kUQiDwWlDeMQ8=wl9cv~DO)rfJ|Rj%^=eo&TCr7 zdpgP!FRrnj%Gz9O>fkwD5?3^i-o`CJp6MAw_Zq0Bfj*a&WN&s!ab=rYfKP_B91n{0 zNZ$p@HyG&RMuXj(DpJ$o?$o0gICoPP8INwKZAw|#wT!z44e^l?o@J_>HtO*RMqVhc z3tg?%Uyf)2GE~=?=_kfdZCt&(ESbbKG9+tqR>dZOR?NiW(u*IypMNmOa%#;LQU>87 zUq5;w4~F(|n}xeBqZcJF6*^)U&*lI*M3u;$Le!Ps=QKx343UAIJ~6>M{Eo&ta8x?B z6sJvE-hBMiA&~1^ehJGtE6*YvW|*YX?c7+brF02qt|e@~F;@CTT+u>rXC9vrfloRW zR2!%_T9IJ3x!3EOX&S01TH3+B{rA~B?qttqpa{b;_M%rw@j>)V@VdQkNS(6_@$+>51oPQImJ$}{A z>jnN8^DR$?Ozf15v#YS@n3yD@D@7>X0!NUJcC*FhVwAF2b^HyK)D|Bv>gGP*PH`h& zg&3?UwAa%&_w%H3+Zgm~d7eJSv2~dCJRyPJGDlk1GZ*`HWd^~})flh@f^=N+&7Jue z*v;RZGvo6ivWDp0)F|Z;FOz31aG>x!fYHeCom|_a)7w>XMH8#X9EUsltA@Ne=H@6X z-VZSLg-|aS>l50IlZ32WqNBMwKvjalro(UJrc;yZ#i9n@#S8|Z;&HH@MduRka7`BZ z5z{$qbo~a93hrcU1aIb73)v;D#1NazGH?Qxm;$v zRE9g>?pxxO?!^UCeS@8Bk4ay`zL7W(dL+}T355|kkT;Uez3w;Ybl_2Ve?iHy^ zLs3-*Qi1i|Q4ov!Yh?%pI^lO0YxJzj%k7Jf=&jxgg43u=E;pX=-^O(_KaAl0J3@Th*Tp8C{r9x%w6o|GtcieM)i`l@00OG}hw|GDpvY zO8X%0rQmD1Mci=iJ-xD^RzJ>w%N#o=mAeY1by?#y*pjJzub`j~5I48pizPYgMllQK zMkdOkv(TZJB6Q0o^YD4k`@($?bRZeBvz^Q4{dF5T&aiBhMDNj`T}lj3vK+eJ`a&|H zLqpmFQ7&h(n3bl=U(?#>`-$Ug1ZR;zJ&Zcjbj@o|#Yr6n^_@IsRF$2F-`_#qYBYzBzL4R`cx(Q_{6M;J%HbXvx_Y-!kp(?Lrlt&ypSTc5=m-=Ts9(cjOW?&XBOo?4xn`!y** ze-ioeAS}7-H*1Ug)cnB%L)|omHCiNSY-1!Ia5o!C@?~ITybzheUc&PMU!_LrjTg^8 zEa#eR%mlH`-`6iFboNuEUMjUr9(aR&Gu7nsOyDkLsy3ZN+T-V$9w$P|MCbHVF%j=| zoo+&USc#dNF?RsifS-_`Qj5<@fvCTUojn$L;2)x)1V>l2a>{w?Am_fN5NSV0-D|=P zD?=0&cs|V3e<-hpC&{nmSZ@uKcN5y~b~`T(^%7meFIIAyPv0C)8)Un_PpM@lVTA>p z+K04=YxaIoxheV;#1=c*8@mdAsPj>8h?F@e+(1?^eO=Z&4Kr1LTBwazx9YhmvOjj4 z0{q98;M0!efcgRXvD<)f{j|e~& zNxaIdZP(*&^WabKTX@W#?W-b6jJ*7M&RpIGC^c7fdf>K zHi9BXrjWoI+g5OS{S?Wpn;P$Z@EUo{Fp)}LnuNq*U4kFJ3{5+k*_rrN5a(csUl%7BW1$+L6d zF26cJwEO_00E)LGT4^}=2S=%11j2ik!S_2PaO`H3Y}9j3D%nrQ>s#r%AXAl_jXFw! z5piawEAm1gANJmVhCrKq`~m!R93l$(l4}+rkMJFsICkoGnJ-IMf^dJ@r?!`fI0VbzU#IqBUkYQbQd@YW zhtOOVv?~4mpV0LEXK!RgS=FS$+ocy%BYlL}syM3Tsz85-ruj6_*zt->e!Q5Pz;A@; zGAMq2dm#c5f;jE|CsxhpbUyS?kM@60@vZpzJGuS8#aRAxy5s)?w{iOqrFDT07rT6b z&u&I3%)Ai=sG%2x>N73@Dr(c96ZZ#O);N^`rS;KQ=iijp{Mik>uK~Gge7XCwHv7Hj zS-q)}{Y`sI?Cj!>`n&HYjzprV_gr(3D}G+v=6*Vjr=*u z@qD_U*(4!&8U#RvU>Zq6v#OThvC?EgQ$!DTq{s^3r85AWP-y>=E#THJ{}YZjt$`Sp z7{b=MPZea%C*uJ)`qhPDYZ~V7aJ0Z=w><$>-5SGmwadPRzw|pC{g8?5bIaeCtmVr8 z*9>y%*eN>zrc*hXXZ)wM*nb!i)c*}f|8I9(p7tpA8qolb?*rQJX6|Q}891b0y8Lv% zg;gQ2;Xn0}U%vAL9Boq7nEY=z`iF_=e`w^p#`yX?t7T@urrPf1f9dxfOvIxL^kX>X zh$TQb-o15=e@$mDJ$C~(^hXrU=gOTt4VG9w! zV;yc8nLFsU$cUvo$}8zS@>uJ_0aGtJ^#b6eK6m7?w(U)s1%IXg0k8dMl(VvFvC|(O z>#Runhcyrk{#ytm!;DhScRTUwpMqat(eWejeA&6E3JOF^-2ch`(;w>*y?;cce^gPM zROO*afb;s=qM$|76v%CJdswFcd<{}NOUJf;6MCVl%ipJ zZcE7N;oIuJ{BWB*df%~Y0e%3rwvPCLBQD_^tM*Ok0XSj@|D-FDkg2|-@nP+!--AU1 z_k9HTcXYf8S{}Ln0Z0Gch7F*}v46tR0A4R%yip}=iTzvdjKS3W?JpyM zzt}>zR3n$?!H=z4xe+jFTbKONs)31GNl#xU4ahxlr*CUxvCu5wi}|7Hl-%q1Zsg86 zqN9obKu3oHbaZSHkR9OcvIJ1p_OZU41)l+={(FBYIQqE1-_U;;GF$(>O8YD1<$q|% z{63NW_*C#e{L1lv?*uNk03=C3xOS7)VcY77cb<)QB_Txe)L*V`*md-!BP-Fw#%nN2vI+AuwB~bO>F2dDq zx=q`@UF;s(5pdrByo#_v8f zZgzOWd0M}HTf4Y~!{8lLq;F$_AgEn>1l{3iP|6ut^_qTGMn#3xmsBA^SI)}h^H&DJO)Q5KX%1+F zOHB%MiAjf_U~rS-7HlYsOz zI6@x2qa1h}?jP#@wf!)j&{Q_0#7728aAu*F${2J+W4 z5WIuS9kJz{LSLI$2uVS&jAtOz2p+x|+|*7QcDR(u);BWmBO3k?YmtB}I^1X7K5-d| z?)7%D_aC1S?Jw_!J3kpgRNMP^q(3L_wcqh4Qk7>-lW!aQJdNWgJs)qxzil^Y;895` zowQVylbfVHZD=WzZYY!U4jf+R-q;Jks>}F(VnVZ;artV2Wy)>rJJyq3E~9o@?T|PS zYUHD&FnXLnzBf}vye9seEICgBA9q^-A3r9Jhjp7g&BI*OsAVxgd*Q20XAXxm_8k>> zGv1o&6uLllz)qI{r`>#JvXjQRbG2M?e7P{(1q{O({;VM2&D8H6>=Vcqy^L0r6}a__ zPC_z!u!vselXc%RuoVHzJAFpc?-XW5c5B|$tF=R?o^p-zK$?ue(blHcVQ(h|mP}*F zR8&n+bS1Dc?m3~6aL1uTQtm5VW*}0$uwHd{I@n-f!wk>`avUh>)QED%T&^ZnxWIk- zNQL^`0Wp&eqZ*}TUL7=5ueq10AK1RDQY@IU)p8tRoH6})woMS?2z$cjdgFC*0sU%f405PU_FI+G>hDapnnC;i zu^_n|xR%LPM=E!5Vu>~5)tT0|4`!ETBv8j2_W-{2>r0(sXU2qKAwhz2s$v(uaF$Fh{03YxfGO`{XTl z`M_l4biMg0>IXXkc7I%;SFi5Q6x82P0PMfUiT%peV8o0rX@?M{AHTnKGJSxXj{FgB z8{-+q;`#E1s!N}#KvB1(Rix+rJGqGU?u94R1v(F0c+Mfo!eaacq5mdc&EhC)UnAOF1cqlQCEKvy#?`afHpU7<3b%`N=_7P z7Q0DXV(oGJCN8PX6fW}9ipQr(5y@7idvSJ??pD+8Gvd18m;;N(_lZv0BQ6oP6N)E< z%S}~CIz^i)KRXv3S759WJ@f~oqF)EDy*qJD+Q)OoNVqlxhMH9(G4(IEH{ej4k1C9v zp^f}VBre=8)5W54Yo@k4VNE}GcO~+})Q}716Vtxdag7{9>?xqg@6kDtt(aYbLezENdCE_h1K zJI;{QM19LaeFCqtc83(oVviZzoJ=d1HD`+NIDY#H=OqX4?OM`1zf)B8ch;3%R@;Fi z2HcdBRQm^)qCwWFyJg%!6%|zNUN@@B&^Oi1Th(-moK@A0Kh5w_9z?DvUQD<-;ZPH` zJKU6-K(oKE>uz0Hj3``dA@y^gMvsP$)6YZ%i`Y%xO099LLd8>vD5ig;&7fHEO%<%zg%}j?C^~zZF#$dt@UDpbYn9b~iRLY)|!kwi_)A3kHTYolT> z#GruWkttkkIxgT)Y-&1vGb*Bc@wA8M-O0W6E2cq*D^+g!wPxaT?=)TaEXS^}U-96N zzdG{s${PHtlfW8nC~@lU(9-ngi}Z1l4_Vf8-6Hee5a50Zf|*&52W@}QxP#lSU=$9V zLdfoh5O(|fNmP0lRCW}qez^@On&Uu&K5yqLGkCvo6tubBg8e?-wGPMLXH&8o(P@1$Jf=Ggzn%&;w=9wj}mUTSCprc_FdYs25UZowor~a^wx?ftTNxm}JG3J6EgsCZH|eB<;n9Z^m_9T`;AX(4kD3Kg3h*2+rui>?;S7Mm3Z6sPff#YA&DS}h$C zGgx9Caa@?Z)r5Vs?`M&D5!enFGPp7EG|xGP-)2~dEzA!cM(;GiLw(v-!Q-CaeTfs~_7cI8MGB7q0a70VkS1K*)qvvNr zEfx@Q0l#`y9c+`Wy&G$X?Fl+|`wM~dDbcgz=J2|`;!Ag-t7eivJ#=j>JWzuWkv^;6 zK2e)vyoOuNt~7YfRkz|7pfurqdpBLFk^RGRZ2wnf_wpbaUa^Xep=i*QEb)SR0QOVd z(v5)Pt*F&GGvPv+j8(Tdv{zYx&R$pVnPmK&18yd5_mw}y!xT=L+nG_R_tR}&GwN%Q z0hwAf2H1=nDhF=CqYl613#a1B3eFNnXn@Y)`ItUK`5b%Q!+yyW_2yN3`KB7wc4#xS zjl*94W1ztJ<;6s7Y}Nl^EU@k*7ubB=BROmkmg-4;4LdwFCyJ)y8 zaSszh`akWRXH-*r+vfGC2Ni`Q2q+Lx0g--0iX;?4>C&Wkr3VD0C3KF`r3q4`1f=&) z0!b)>AWb@w#CsTy!u98c~`XTqiLdCf-yll>&ty_!nOi-V?ma8C)5sZDdM>j zPRn>cYT_5+d@?9MLr|IDY6)g3oMV)AW2__SQY+@P(QD=$1xr*x&z`kgZ^>9|4f*q$ z|7A=853+;2b|hRp&Z{A-i_DeVg#8(dq39^WHdqf0jGDgK{o)+Za)+_ z>H}d6yiV+~YO>zQw^KJbK++9OO0u_Ix=xY5o~X)lTTBL_UYgzk%012&&u^1)#%fR| zUB<>*LlHU;a`^M%nFzG63SualTHMrjYlw0Z#dv*^qn)8dySV=gC(D3jMR4ZkEpdZ+}+K z91c02WidrF1r4(mdd*Lf3YjwHlLX7Z*6`16*nKvJH1$# zXp<1jwV+LBSf^jBDdATe&{ekeGV;EnqYUbMjqJsu@dMS8}CtgI$9P>vH!h1;iilq>i6Cb&K#& zSI|W0$8t^hXK4qkQ=Y7(_k9)xcs)=`&!n6{61fCLO2NwQ%2u2Gfretj|26;Y}e~6xy~K$qC8% z6)eZK9qhbBJwRE}wpDd;wdc0Eo4i9dSNl6cxaD$I!=Q#5p*b4F<16_Moz|KVTX;m=3ALwVM(dO8YBCC}?pY zaRoe~O~ugVq>H|<_Kg94HieZ{-*LWNwi>i2?r!JtRXc`hx6F~jb$pQBm~jA{Gh&6= zK;>_lJzE+NO1L`bf^c5MHpnQGrd!_BEZ#=vV=Ej&zg}Y1_!O_XcTy{9W0CJ-@F%G8 zsj$P#@m%9S)OW`}eAM95JUAM*AW|l<{rH?j?e2uwGgzG+q~@lQ&_^~$_O9KoLh4xD zC!H|hH+OAz7VS?KcfI$ZaXoR7Dlda(sp%H{7m|8urM?b`<3)aEKJ<%5ny`KKpCG*q zPu1Nr3n{NZ)O!`(5{9iFUR{ZG zBn$`JAN{&!Jk7&z`FTh2%xPqKx96*D*?DGS-=ct`pYW|y&6T|pGSu#m!|Edt+@!2; z>DQP$qt$050$&%DY5vVn;;L)oo!x;)i&DFWsx%;%yaMksR&x8Es{5+a89Cana)kcl zj8t!g3z4Vbj;8ZJ$oWjnx?NAu$4y9RA#2{^jW*=%A~c&;FsFu@mALXT*S(IzBIPR} zc-8#bgeIG0<0Vqr+l*qf=uSHM^o>?8+2o~`BcdtoDoaUE9v-T0gSSaeV3LosoljXZ z9MewqKiz-&dBwkN;{##C$Dg|BD1l(Cc3YMw-nm-mXksrI$gt3D4|&?esGp%0kcIT+*}PxL=_g?76QAxf&*xCyYceP}#f zWhRI61BU4S&Tk5*i-$8?BL^#ARE&ME`;50S>X)jx4%EyIdk+-q%@RDJ=Ex|XU^gN1 z9EQ~{F4FGr^0#pEUhh-d2=82uI@2Mf5=FPfL)7o!SPhvl1Io&Qz!jx*~yGrm=sz%2t}P-QTe%hX#Lv6>clQ z2Fu9}m@$Is8k)g_n9ORH0S^p5o<yZROoq1M7Hcz={Rx;=H! zLGOISO693)as;2W8s)xKr_C&hkpubb&8Yt}Il!v6eQ{@AsfKQ!Y_U+Vs>Y3;wEOZo z?z_s|)C3A}8we~;gqz0wh)2A}IG{K3+h&sKi5tcZb6ZnG+42GIph`jKo z@~nX7^G14CO9u5E-COztL8S78DY)*UVY?5$SaZW)CTF&=vy!Qgoas)7 zv%;NMe6?83+b#&bRTw%%-c4pX>T1YhV;}pL{9X|`A~gvOT==QWWQ8+NJI9aHs+rQ< zxDz372_c@GUB!7_&w~_?+$-#~-QqylzpH>Np4b24?VlZAR#X>z?X*Xr|5l=kSrQ*rM z6rWE#;)3LUQ(N2ktCI|yl(vw}RJD->#mvw_jk*l9XRT(5kYCvn`TdZU&1BF)SZ2K* zz>`mfi@aj*g5M5I>q#gw5l|EXhRdL}U1D}t9bK8@ByY&+E2Qt z?lY2~`D8HYE-jYzOyMR}U%|<7@f5-z#;vX;1GrjgRF#wo(obF*zE}{OY)ADx5<}Qo zuD)z3+%TSADJhLhf~{)}6r+5)r9kHcXp5k-wRGnp)s~b<&MkNFH_CuUK@`dR}>WK9G0cRvsK4$LOP*AZvn{$HrrVY zxf(Bdyv{9BDJMY(*jvocVQMt@5s3WF5&6qqXu8EZRKuv=2AtU zAkVH&IsHPi_^>o+E9#-ocn^Aj3lzn#u2_0m|9IZpN(h}p1#jnuVeGelMjND#rN0D9 z9&Ju^o2}imGIKh>CU7;TWI`|(Kb8*Kp%(WEqmau!y0jUn+K_tu>N2c~IC1cX1PBOs z$;sQ$k1J?7%jd^uT$f4(<|}xcjgN1mDMQv&$^<16F*MxvJ=Nkez>`5 z#G6!sP}u_f+sq)~8wTHoEuQ+t)XqlUG+VR9ALdebZTU@=(E|(ir z{&Z|Gj`Q65^`2F)IdJNwGz#c1zhF|`D;6R$_g0@RQY8yE+gg+oz1x`b)ZGfyz?@4U zNK{53NICt_?N#Wl*AMSv$_##_w3&Q-75J&CCyL*23VD|{eAAF{zXeZmawELAbnk7b zF)54Ye_#E=VEg+Z6m-NM1YP|qR59ivjlIdOu%@E5cH1&e4O4P;MAp=d2sA8_g^ix- zQji2qNY}+;ButBXK86uPA)}VzyE)j-u3Y6ml#9b5+fy>G@^4`4GYh@-#C1k4kLb@w zRI%#|lw`nYO{Mvol>{R=T)a2rV+#bEGCV1GVAgfgkgAI6r*)6u^8`}uN5vZk3^_L; zpAZquJNBAsy@w4@jvp70lpFC zJg*F8>6DcB&B{*uxmQYSp{rvf{r)+YM1BR7-u)~jg#eSIArf10i)dr?#k(w zHnSmV$LT4g%M+2{(W+o&X?Pf-+9u$vKcuNGzwM-YvIs{o6~3I#&00OZpfaXOc;ANJ z=G@5Z;#6ynU8TB$VcK(jJD?F{P!f&8LXUw z8*%ZQD=UC;B|+dQ7cGhc@7mdwPzYO*q~)DUFL-~``Hq)h!lnn#$AT&Y(}x33)}Iz? z@V6T8P_~kDLrb=+E{}od6X)lC-epUk9|j+M^k_b8KjK^&*M?vfImPFhIjDrE(DeWZ}tg$rHq+|gLU z8GE0v3?l{3h=cfKOm7h6KS3@$qqi=6g)0E+>qmfFdraufeXs;wTedAn#Z>x8d3in5$UnyDU>4f%;)3CR>(G+(+!u3c_1!4)<>_*cP9ZK} zzi{!PbdsXg;9#^{o57!$V0_4Fid)Ww-H~l+uF_Xr`x=yD#^C+B!*jnTG%WMdJ?z6> zS}l{w_wE~v#|-4T~(vt^Rd}ulYHkQ z5|`UhHragxF(=>_w)J()tx@4zu4B+Opn1T0KS9&VWlLZ{G3BRVvPhcLNA>*W`i$yY za7}(mVsGB%kRPl%)s*G{1&*MueaQYi8w!)|E|-@{9o=W)@Yv07*S5c6-YnIiHron6 z+M5|=5gEBgvCZWARP}5fETs1<37xw{wwRqXi;-W= zyfhW>=AyWL5sH!K@^2-wC0j3LtFWpR@u=BtX%Z`3`sfDA%az4^q&h!&ZTT#Vrzm6n zQ-*x8{(z~mi$fkQ5ly$6%bvSGJ&@(NJ6^6}O|9d=aGE+bynzE1LEY^sSBVM$B$Td^ zu@HQpHIjf*2^=4k-ND3&LNfd-aKSJpjkilFNh4-obpk^BgU7alUz0wU%#UTQB`2&i=c@%F}ais}x3?yLWr#_cA6BUcct2 ztqx@1|JXyy3?I3seCOHY;hC`=Ih{1U-S&W)n|CEH+PVqMQI|3FSjbFmHTF#-HcWZU zvhF0#i(4Zz?_LVHSRQ>Py)JJ|HYF>VxET-%J4F-wF6q>-FALGRcCb>`wukfHoAs#E z1Nok4aV!XxR@t5X7G=7%TL-mxMo0x#kZ07?t+Vw06{KsSXLTn;9M=fhVqVu6C7PEf zqN}b5r@5LCs~iiIK}BcGX7lEtjb1BlTfaA(SD`!4Y2?ye@gSU4C;Kx*=HNtVCaWpW z- zDu4&2+S1tQ0R{+N9&4qg+gL}NpU6M`@&5kohjB9}ezUiwVd19;rwG8_jQ!gBE6X#E zWJf)i|I|M1KoZ+^j6mIQN1CxKt?`^$T%eE)ib867KLOeKso^R~BuT4)I*PsL=h|ik zTolDtTc}xcja4Twix_Y{531=oB~B^RJ@fubF4CbO&%PXK!Nm%LU*sv_c$1m?{4zVO z|D`RZzUz>wM!3%1eF84_^OjV80r^2~5$)&Qp$SZAlHr1``qa#5@^ybkzQ&LY<^ZlG zLykryGC{J=cST`ZtmLb}GwkMF!K+@zc5-bEv#Q(0Bn-vTab+}43Un$z1e+Tdl`lbH zqB6>!tNR6=`8r)x8c+{%FOHB}tBQws_OEXRYgN|Txo(RwEJjyvEbbJMps`asy0M}tPhj>`g@|VBGT5t7*-{tPqxz^~r;`LLl zcSZEMn`f^Bz?3tPOq+BP*~xTVeJ(XhFY!|D@9-3%x$VXE;r-cWq5hLdh0L@30rQqAE$+{obi};U zx0YvH&qd|U#-+ebRpb}Hd(am)FbhrwEblMRjN{_zjob3D#mLJ=)O{K;rUlO(g3M}$6qw)8k$}DUyz@uUl{Z7q_WzP(d|Y!(b|;&s(-9xsHD7= z-#^67lrT#IpAR9228^RRnU5*s&P&?rMs+9Y+;iHRD#|6H-ZZ6fE9&iM_Cw-$&~vZN zhfnyPiaCWOY5EIZB%h7DTNd+YEEIHwNr)TRlV}aL;J}TBW^x_ zTazV|14nEWd$T`{mbQ0GtgTitQd|qDE&jD=F0Fn0R=E=)sAc{)%>9_*_wh7GC5pju zZsfUmTn}b#C?QyS+{n#rkx9rAF7uF273A!kMJtD8`};rDZ+kh0MyZIdwO%Zq%@Vy^ zNd84>3+@+>PPuNd4Sq3DH8QX}5LBA@hOH&2x^fOR!uL$_fi#My8rchfD!) zHt9s=E1kDt2XvA_W1RDMH-=)_Fu8faL-`vMAJ$yY9W}!GY~`SU+$MQiP=R!vOdUhS zU~3%IIjv$niaCROsfth(-{WRZSPr7sc+Z<9xv(F$(_2l`c^Gd@V-#thnA+y+04b2F3bUk*^Ju)EpvF~7uaoHX#j@Xk3y}fP#$V{aa#NM z;=jHZnP*xwyRb!4=J;?Ekip@9d~AQTO*;3!HWz#D&@r#Bc+$zmY%9ao-0SH$y36Tpj z+>v3O=CDmG;%j5+9}2d9v#oPu;5_eg1ye1pbbP075Z7w-D&!kY3Z=Ct6pdd>tOvgH zeJ{^PCe6x)8267ukekCmTGxr_rC1YG6w#RQC_95;sgOHuN=QM(Bfsx3W3yz&(&Nj@ zFQGLXzur%4qHn6FR`=!$mbbP$`^?$k$M@us>Et&fSbN3DRW6GC+4j~^8_?VH<~P-` z)&#$il5T?}r$4Mgs%99gh_j&{rVI9}sv zOgqy+EeF1IGHd#ZjI`YwUBBj|^Fa@~sD>WGH8D#9#7)971`;2keJt$iOeaS`{X!=C zH7NHo!BqIk#2ooeR+2oHi~S1ZB;dSue%|iz3Q^}}<5-TyZ{IU&Gr%{M&BwDm473qo zSiP|YLiApAqeQVbY(D*(33%KT2`XW8Nmdc;c?uNHMvAEpkh?_v2p6T-^>hn0Zg29--Bj*KN{x2zjAIB-m^YOc%tv&uBmeRhp( z1r$;WS`t_P(lazLEki5niwm64XKZHOj_5)WalypBJK%2rpq(#rfP7iO`|JV;t zf?M`3mC^Y;(~kB99COP#2L2R3!EDyLdHjs3AlLa-@-$T99P2A%{PFttt~st@5k=;@ zTEB~JR?YG)dK#g736Q<`#sKKC&vLBaap-RRHU7*6!0752mF!XPw#qq)O* zZm(Xl1zLe=vyGKRZLnq5(sZ;5UhnH35`0#NEoN7$jbAmG|JCg*O?4XBqGAN+j`Mxk zkI|X7CUeB9&m1NvI~V^EVl21qhL^0!FT%LbmaX#JjOC6uDJ0nI5aDSjmcG;m3P`#R z>-S}l*NTn?1}G@XvKYJO7|j!zqY3m1VJbDH%@&?&fvRc=_~MMir_EKkm5lC_sbYRK zu~KuAP;5qBN1JZj+H&7|6&Nq3w5xbD{>7=lHg8`>u=IA&^*q7zs^{mf#SASnE6T+) zMc4UeCGyl4XxmAf9NJB)30-gWj9bc7%%3WnJ24{6f5vBp&qaVLk)}7Bp6aKMH}?Yz zbv@Q-krxv?iTafXmXRj?#Y0+}ZtJ_YHVnG zyO7CJ zG7Ba(dO+(IfAI8wkK>Bt1`VW`k2C#&uiVfTk zHb!v`5ur?e(t)SR8@8*^+%-P~)$-ZZ0GsLp3jv0}Pe!GVI~*V*7vYvRe=Cs`ytJ9qE=*)~`V|gAtqBoFN6R9ktfMi*bB3OKnH)IO z5LY$IupiqkXFgrYKMw8fc0yHBthZ-7;%Ww?<#U*-G`Ke4?BV6N2F#x7^-k#oz!4Mk zUF+hbA3j=JOg?l4J=&FZSyLgkxd|mwzYh>+ng?%Tgpv`Ys<-J!(>x*Whd*4wyT`jL zM-xb`_N4IA+N_7;+%NSU!C zU8La&wFLLs4amF{uic_h6RZifR4;otFSGWlH?2On_I!XkV5vh>QaV%95LWv3zhxWg z>k76(xs-<%pmCT(=EuB^F`g&m#d-CB)|OL0w1QLH(+kEs?2{#IZ_|d~kL8nQ74*%y z*PvbN)-SO2wJla~sQ?L@)j3KRgz2+ngzF#T53gc4Y(MxfHr+UkScN{W3s5j_>|S@g z4gD>hJmR0N_xdCaGv{16x^{qW`JGg9lwarE{bG4{e`{#U9-yPuw`XGFx!$jWP|x!T zL%wO*`_p44x!ah1%U&O-2YHi*+s8QazY zmC~NGq74y`^B#5Td-+sO)%*~tGWwq^R6?3I?Mj>E4Qjj*yI^qJrc6(A<3o&rpt=0k zC0-^=?ZO&c8k1RKQ?AF6!C(D%2&F;ujD_%JrLeU}jD}5)?2d3w0iPLj@{MgU37fiYKAw5KK{AeU=m~8Gx{dw!RyHH*}gf|tn z>hTNS)x~ASc@|6)ZTAm zaac4-c5>9)cM}jLE6`l^P6X>}OgLuc`M7CJC-2CTp0^BNQLq3)!*>U#s+W{Te!%jg zySV9L=I1!_wRP3yaqFlp>k>i4O*fLL+HS4$4avw415w_oZ zsc5RFbj{eF?o&VpS(#q{1J7>jEuH^N1k(U!<=-=muf+Hg7#G(6MHLsZx^64ooxkxP zIG~z*xOn7~3s+TTXkcdWf0}&zZv>g1b$5`v6Z0=r^Q8!OHunEPF!6ssfBt_Sru@I@ zoS)4UX=OSDkq>I;zeh%H_hQ#E<*vhD6}R#>WPUd=52Y{MGt{mA<3iF+8u5MMLZ>}p z5O%a#KZI@e+uzJ|Z>`nKR|)5iCJso?HAFM>qhhKYRksUC;{hA)tL_({)d}_Z`_SSz z=2b6T=&}A^BU7GPXe2*+)8c%q=khHg0^K{CaYloBP^uxEaHsy z0x$YQg|TL;9f|vb?%x`*G+f*mvd}#P0k%W#|I0ij2c@hNcuPc%^f1x&J%# zKaz$ne7dvzCB+5e_0)Z?6`v|%zQXk%JMF?ft3DB-Zeh{+nLOnfCVE!kdu#u`hec(2 z_Wk~_0w+2zOvE)p^<92uNcJ05S@bG>_>b@Z^D>z>lE4&cx15|}&Y)liHqIN!lJO#t w4>!gl6#sqrd$fonPx{NwgDX3hZye4U@8JAG@0XVg|NaqmW$hPLO0PfsH$_vHK>z>% literal 0 HcmV?d00001 diff --git a/content/blog/js-classes-without-keyword/index.md b/content/blog/js-classes-without-keyword/index.md index aa2e4460..0e4e776f 100644 --- a/content/blog/js-classes-without-keyword/index.md +++ b/content/blog/js-classes-without-keyword/index.md @@ -2,7 +2,7 @@ { title: "Using JavaScript Classes without the `class` keyword", description: "", - published: '2023-03-16T21:52:59.284Z', + published: '2023-07-16T21:52:59.284Z', authors: ['crutchcorn'], tags: ['computer science'], attached: [], @@ -12,20 +12,21 @@ Classes in JavaScript are both powerful and weird. While they allow us to create named objects with similarly purposed methods and properties, they're often misunderstood because of nuanced in the language itself. -Let's look at: +But did you know that prior to 2015, JavaScript didn't even have a `class` keyword as part of the language? -- How to create an object -- +Despite this, many programs at the time used classic Object Oriented Programming (OOP) methodologies such as using a class, extending it, and even adding static methods. +> But without a `class` method, how did they even make classes? +A good question! Let's answer that and, along the way, look at: +- How to create a "class" without the `class` keyword +- How to "extend" a "class" +- How to add static methods to our "class" +# Create public fields with the `contructor` - - - - -Let's look at a basic JavaScript object and see what an analogous class might look like: +Let's look at a modern JavaScript class: ```javascript class User { @@ -37,7 +38,32 @@ class User { } ``` -```javascript +This is a fairly basic class that has two properties (`name` and `username`) as well as a `sayCatchphrase` method. + +However, despite [the `class` keyword being added in 2015 with ES6](https://262.ecma-international.org/6.0/#sec-class-definitions), [public fields like this weren't added until ECMAScript 2020](https://github.com/tc39/proposal-class-fields#implementations): + +[![A JavaScript compatibility table showing support for `class` added in Node 6, but "Public fields" added in Node 12](./class_compat.png)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Public_class_fields) + +> So then how did classes get properties in years after 2015 but before 2020? + +The answer? The `constructor` method: + +```javascript {1-4} +class User { + constructor() { + this.name = "Corbin", + this.username = "crutchcorn", + } + + sayCatchphrase() { + console.log("It depends"); + } +} +``` + +In fact, using this `constructor` method, we can even add the method as well: + +```javascript {4-6} class User { constructor() { this.name = "Corbin", @@ -49,6 +75,16 @@ class User { } ``` +> An interesting fact, for sure - but it doesn't answer the question of how to make a class. + +Don't worry, we're getting there! + +# Create a class without the `class` keyword + +Before we answer the question of "how to make a class in JavaScript without the `class` keyword", let's take a step back and look at what a `class` is actually doing... + +After all, a class like `User` above might create an object like so: + ```javascript const userObject = { name: "Corbin", @@ -59,6 +95,8 @@ const userObject = { } ``` +Knowing this, we might think that the best way to make a class without the keyword is to return an object from a function: + ```javascript function User() { return { @@ -69,11 +107,22 @@ function User() { } } } - -new User(); ``` -But it's more helpful to think of `User` as an analogous for `constructor`: +And sure enough, if we run this code using: + +```javascript +const user = new User(); +user.sayCatchphrase(); // "It depends" +``` + +It will run as-expected. However, it won't solve all cases. EG: + +```javascript +new User() instanceof User; // false +``` + +Instead, what if we just converted the aforementioned class' `constructor` body to a function?: ```javascript function User() { @@ -85,9 +134,21 @@ function User() { } ``` +Now, not only do we have the method working, but `instanceof` works as well: + +```javascript +const user = new User(); +user.sayCatchphrase(); // "It depends" +new User() instanceof User; // true +``` + ## Prototype Manipulation -Knowing this: +> But surely changing from a class to a function doesn't allow you to change the prototype in the same way? + +Actually, it does! That's how this whole thing works! + +Consider the following code: ```javascript function User() { @@ -100,7 +161,14 @@ User.prototype.sayCatchphrase = function() { } ``` +This is the same way of adding a method as the `this.sayCatchphrase` method as before, but is done by changing the prototype. +We can test this code still works by running: + +```javascript +const user = new User(); +user.sayCatchphrase(); // "It depends" +``` ## Class Extension From fcafee912812f9506be54ddce3835e5ef03323ce Mon Sep 17 00:00:00 2001 From: Corbin Crutchley Date: Thu, 29 Jun 2023 00:30:02 -0700 Subject: [PATCH 3/4] docs: take a look at class extension --- .../blog/js-classes-without-keyword/index.md | 133 ++++++++++++++++-- 1 file changed, 122 insertions(+), 11 deletions(-) diff --git a/content/blog/js-classes-without-keyword/index.md b/content/blog/js-classes-without-keyword/index.md index 0e4e776f..d3213aa7 100644 --- a/content/blog/js-classes-without-keyword/index.md +++ b/content/blog/js-classes-without-keyword/index.md @@ -170,29 +170,140 @@ const user = new User(); user.sayCatchphrase(); // "It depends" ``` -## Class Extension + + +## Create an extended class using the `super` method + +Before we talk about function-based class extension, we need to talk about pre-ES2020 class creation once again. + +See, when we convert the following code to use a `contructor`: + +```javascript +class Person { + personality = "quirky"; +} + +class Corbin extends Person { + name = "Corbin"; +} +``` + +Like so: + +```javascript +class Person { + constructor() { + this.personality = "quirky"; + } +} + +class Corbin extends Person { + constructor() { + this.name = "Corbin"; + } +} +``` + +And try to initialize it: + +```javascript +const corn = new Corbin() +``` + +We get the following error: + +``` +Uncaught ReferenceError: Must call super constructor in derived class before accessing 'this' or returning from derived constructor + at new Corbin (:9:6) +``` + +This is because we're not using the `super()` method to tell our extended class to utilize the parent's class' methods. + +To fix this, we'll add that method to the extended class' `constructor`: + +```javascript {8} +class Person { + constructor() { + this.personality = "quirky"; + } +} + +class Corbin extends Person { + constructor() { + super(); + this.name = "Corbin"; + } +} +``` + +Now our `Corbin` constructor work work as-intended: + +```javascript +const corn = new Corbin(); +console.log(corn.name); // "Corbin"; +console.log(corn.personality); // "quirky"; +``` + +# Extend a functional class using `Object.create` + +Let's now convert our `Person` and `Corbin` classes to use functions instead of the `class` keyword. + +The person class is easy enough: + +```javascript +function Person() { + this.personality = "quirky"; +} +``` + +And we _could_ use [the `call` method to bind `Person`'s `this` to `Corbin`](/posts/javascript-bind-usage#bind), like so: + +```javascript +function Corbin() { + Person.call(this); + this.name = "Corbin"; +} +``` + +And it appears to work at first: + +```javascript +const corn = new Corbin(); +console.log(corn.name); // "Corbin"; +console.log(corn.personality); // "quirky"; +``` + +But now, once again, if we call `instanceof` it doesn't support the base class: + +```javascript +new Corbin() instanceof Corbin; // true +new Corbin() instanceof Person; // false +``` + +To fix this, we need to tell JavaScript to use the `prototype ` of `Person` and combine it with the prototype of `Corbin`, like so: ```javascript function Person() { } -Person.prototype.test = "1" +Person.prototype.personality = "quirky"; - -function Pix() { +function Corbin() { } -Pix.prototype = Object.create(Person.prototype) -Pix.prototype.other = "2" +Corbin.prototype = Object.create(Person.prototype); +Corbin.prototype.name = "Corbin"; -(new Pix()).test // 1 -(new Pix()).other // 2 +const corn = new Corbin(); +corn.personality // "quirky" +corn.name // "Corbin" -(new Person()).test // 1 -(new Person()).other // undefined +const pers = new Person(); +pers.personality // "quirky" +pers.name // undefined ``` - +> Notice how we're using [`Object.create`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create) to create a base object from the other prototype From f8296ed1bfef70a5dbbd6d4f5d86ead12b896b6d Mon Sep 17 00:00:00 2001 From: Corbin Crutchley Date: Thu, 29 Jun 2023 00:39:51 -0700 Subject: [PATCH 4/4] docs: finish initial draft of article --- .../blog/js-classes-without-keyword/index.md | 42 ++++++++++++++++--- 1 file changed, 36 insertions(+), 6 deletions(-) diff --git a/content/blog/js-classes-without-keyword/index.md b/content/blog/js-classes-without-keyword/index.md index d3213aa7..19839b98 100644 --- a/content/blog/js-classes-without-keyword/index.md +++ b/content/blog/js-classes-without-keyword/index.md @@ -1,10 +1,10 @@ --- { - title: "Using JavaScript Classes without the `class` keyword", - description: "", - published: '2023-07-16T21:52:59.284Z', + title: "Using JavaScript classes without the `class` keyword", + description: "Classes are a core feature of JavaScript - but they weren't always that way. How did earlier JS devs write classes? Let's learn how together.", + published: '2023-06-29T21:52:59.284Z', authors: ['crutchcorn'], - tags: ['computer science'], + tags: ['javascript'], attached: [], license: 'cc-by-4' } @@ -305,10 +305,12 @@ pers.name // undefined > Notice how we're using [`Object.create`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create) to create a base object from the other prototype - - # Static Methods +Let's wrap up this article by talking about how to add static methods to a functional class. + +As a refresher, this is what a static method looks like on a ES2020 class: + ```javascript class User { name = "Corbin", @@ -317,8 +319,16 @@ class User { console.log("It depends"); } } + +User.sayCatchphrase(); // "It depends" +User.name // undefined + +const corn = new User(); +corn.name; // "Corbin" ``` +This can be added by providing a key to the function's name outside of the function body: + ```javascript function User() { this.name = "Corbin", @@ -328,7 +338,27 @@ function User() { User.sayCatchphrase() { console.log("It depends"); } + + +User.sayCatchphrase(); // "It depends" +User.name // undefined + +const corn = new User(); +corn.name; // "Corbin" ``` +# Conclusion +This has been an interesting look into how to use JavaScript classes without the `class` keyword. +Hopefully, this has helped dispel some misunderstandings about how classes work in JavaScript or maybe just given historical context for why some code is written how it is. + +Like learning JavaScript's fundamentals? + +[Check out my article that explains how to use the `.bind` keyword in JavaScript.](/posts/javascript-bind-usage#bind) + +Read it and want more? + +[Check out my book that teaches the introduction of React, Angular, and Vue all at once; "The Framework Field Guide".](https://framework.guide) + +Until next time!