noodle71 / privateClassParam

How to declare a private param within a JS class

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

privateClassParam

How to declare a private param within a JS class

3 ways to declare a private variable within a JS Class:

  • Private class param
  • Private param defining a function per instance
  • Private param accesible from prototype

Run

node index.js

Result

ClassParam -> Instance 1 -> instance.privateParam -> undefined
ClassParam -> Instance 1 -> instance.sumToPrivateParam(1) -> 1
ClassParam -> Instance 1 -> instance.sumToPrivateParam(3) -> 4
ClassParam -> Instance 1 -> instance.sumToPrivateParam('bla') -> 4bla

ClassParam -> Instance 2 -> instance.privateParam -> undefined
ClassParam -> Instance 2 -> instance.sumToPrivateParam(1) -> 4bla1
ClassParam -> Instance 2 -> instance.sumToPrivateParam(3) -> 4bla13
ClassParam -> Instance 2 -> instance.sumToPrivateParam('bla') -> 4bla13bla

InstanceParam -> Instance 1 -> instance.privateParam -> undefined
InstanceParam -> Instance 1 -> instance.sumToPrivateParam(1) -> 1
InstanceParam -> Instance 1 -> instance.sumToPrivateParam(3) -> 4
InstanceParam -> Instance 1 -> instance.sumToPrivateParam('bla') -> 4bla

InstanceParam -> Instance 2 -> instance.privateParam -> undefined
InstanceParam -> Instance 2 -> instance.sumToPrivateParam(1) -> 1
InstanceParam -> Instance 2 -> instance.sumToPrivateParam(3) -> 4
InstanceParam -> Instance 2 -> instance.sumToPrivateParam('bla') -> 4bla

InstanceParamProto -> Instance 1 -> instance.privateParam -> undefined
InstanceParamProto -> Instance 1 -> instance.sumToPrivateParam(1) -> 1
InstanceParamProto -> Instance 1 -> instance.sumToPrivateParam(3) -> 4
InstanceParamProto -> Instance 1 -> instance.sumToPrivateParam('bla') -> 4bla

InstanceParamProto -> Instance 2 -> instance.privateParam -> undefined
InstanceParamProto -> Instance 2 -> instance.sumToPrivateParam(1) -> 1
InstanceParamProto -> Instance 2 -> instance.sumToPrivateParam(3) -> 4
InstanceParamProto -> Instance 2 -> instance.sumToPrivateParam('bla') -> 4bla

About

How to declare a private param within a JS class

License:MIT License


Languages

Language:JavaScript 100.0%