this post was submitted on 03 Aug 2023
146 points (97.4% liked)
Asklemmy
43965 readers
866 users here now
A loosely moderated place to ask open-ended questions
Search asklemmy ๐
If your post meets the following criteria, it's welcome here!
- Open-ended question
- Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
- Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
- Not ad nauseam inducing: please make sure it is a question that would be new to most members
- An actual topic of discussion
Looking for support?
Looking for a community?
- Lemmyverse: community search
- sub.rehab: maps old subreddits to fediverse options, marks official as such
- [email protected]: a community for finding communities
~Icon~ ~by~ ~@Double_[email protected]~
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I had to use Python for a bit at work and it was confusing
pipenv, venv, virtualenv, poetry...wtf is all this shit
a.b
vsa['b']
vsa.get('b')
...wtf is a KeyErrorPeople love to complain about
npm
andnode_modules
, but I think they were on to something with the simplicity of it.What happens in other languages you use when you try to access a non-existing key for a hash/map/dict?
What language do you use that accessing an object attribute is the same that accessing a dict key?
What knowledge do you have (or not) that KeyError is a mistery to you?
Javascript / Typescript.
Well, yeah, I thought about later. Lua does the same.
The other questions are still valid, though.
Return undefined.
Typescript.
Why error? Just return undefined. Simple, no try/catch needed.
Because that's prone to errors. And the Zen of Python includes "explicit is better than implicit" and "Errors should never pass silently". Languages that do otherwise create bad habits.
Is it? It's just an optional property. And Typescript will tell you that it's optional.