DEV Community

loading...

Discussion on: Modules vs Classes - How to Manage Privacy in JS

Collapse
trippytrippy profile image
trippy-trippy

"Actually something very strange happens:

elonTrashCan.isEmpty() returns false because our internal items are empty"

Is it me or elonTrashCan.isEmpty() returns true?

Collapse
saradari profile image
saradari

It's not you :), I think it's just an error, should be:
"3 - elonTrashCan.items is accessible, so the elonTrashCan.isEmpty() call will returns FALSE"

Class properties are public by default. developer.mozilla.org/en-US/docs/W...
Closure doesn't expose 'items', but class does and this is the big difference explained in the article.

Collapse
caiangums profile image
Ilê Caian Author

As I mentioned in another reply, I'm not actually using Classes. What you said is correct for Class 😄

Collapse
caiangums profile image
Ilê Caian Author

Hey! Thanks for your reply!

Actually, elonTrashCan.isEmpty() returns false as TrashCan is a Module and not a Class. You can read more about it at the related and cited post about Closures

You could also run the test code and see it running.