Comments (3)
Stateful functions as described are totally unnecessary in JS (and TS by extension). Since it has first-class functions it can easily be achieved with a closure
Thanks 🌹. However you are saying "not needed" followed by "here is how to do them".
Also I do mention using various abstractions that wrap over a local variable
. I didn't want to use the term closure to scare newbies 🌹. The pattern I present uses a closure too.
So comparison is between
A.)
const {called} = new class {
count = 0;
called = () => {
this.count++;
console.log(`Called : ${this.count}`);
}
};
B.)
const counter = (() => {
let count = 0;
return () => {
count += 1;
console.log(`Called : ${count }`);
};
})();
I prefer A 🌹 Also one could use namespace
.
from typescript-book.
Yes, sorry, I didn't word that very well. They were two separate statements.
What I meant was the introduction of a "static" keyword would be unnecessary, as there's already a built-in feature capable of achieving the same thing and more.
I can understand that classes are easy to grasp for people coming from a OOP background. However, at run time they are actually functions, and they're an important concept to understand when working in a functional language.
As a suggestion, maybe mention them in passing if you want to avoid confusing the reader with a full example?
edit: spelling
from typescript-book.
and they're an important concept to understand when working in a functional language.
Agreed 🌹 I probably need to add a complete section on JS Fundamentals. But didn't want to add that to this book in particular.
from typescript-book.
Related Issues (20)
- Suggest type addition: never
- Wrong: All members must conform to the string index signature? HOT 1
- Ebook formats no longer available HOT 4
- Questions about section "Index Signatures"
- Link is broken HOT 1
- improve readability of tip in motivation and samples section of generics.md
- New section on Assertion Functions?
- Build fails at pdf file creation (calibre problem) HOT 4
- style guide doesn't provide a reason for prefering interface for object typing
- Example of "All members must conform to the string index signature" looks wrong to me
- [ FEATURE REQUEST ] TypeScript could fix broken "const" variable declaration in JavaScript HOT 2
- Getting started page "extension i wrote" link is broken
- Truthy conversion: swtich from double negation to Boolean?
- All actions/builds are failing. Cannot download .epub version. HOT 9
- Cannot download PDF version of the ebook HOT 1
- What is place in module lookup HOT 1
- Hi,I have a question about ts equal check. HOT 1
- PDF can not be build HOT 1
- Can we use your ts style guide in our project?
- Review links lead nowhere HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from typescript-book.