Here you mention 3 very different things, that only have the term "javascript" in common.
a) js ... javascript .. the language definition
b) node.js ... a stand alone javascript interpreter engine
c) angular ... a javascript framework that tries to simplify html UI generation in an opinionated way.
Short
answer first:
TiddlyWiki is a nice environment if you want to write
text and learn TW wikitext. .. So yes. IMO it "would be several extra
layers of learning"
===================================================
Long answer:
ad a)
=====
javascript the language
If you need info about the javascript language, have a look at this book:
http://eloquentjavascript.net The
cool thing here is, that it contains "your code here" sections, that
allow you to play with the examples. see this
http://eloquentjavascript.net/02_program_structure.html page and search
for "your code here" to see, what I mean. ... but start reading at the
beginning :)
If your friend understands objects, functions,
closures and recursions (TW uses a lot of them) he may able to go to
nodejs and tiddlywiki's source code.
ad b)
=====
nodejs the javascript engine.
There
are many
javascript engines available. but 4 dominate the world atm: V8 in Chrome by Google, Spidermonkey in FireFox by Mozilla, JavaScriptCore in Safari by Apple, Chackra in Edge and IE by Microsoft
All those javascript engines have one thing in common. The "single"
event loop that powers javascript in the browsers. Since this event loop is known well by all web site programmers, a clever guy (Ryan Dahl) thought it would be nice to have this "non blocking" behaviour also for server side programs, without the DOM nonsense.
So he invented nodejs.
from
https://nodejs.org/en/Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
Node.js uses an event-driven, non-blocking I/O model that makes it
lightweight and efficient.
So nodejs basically is a command line program, that lets you execute
myProgram.js files on different operating systems without the need of a browser. ... There is no html output, which would need a
DOM layer. But there are several libraries to simulate the DOM, if you need to.
ad c)
=====
From the Angular.js page:
https://angularjs.org/ HTML enhanced for web apps!
Is heavily dependent on the browser DOM, since it needs it to create interactive UIs. It provides an abstraction layer between an eg: text input element and some rendered text output, to make it dynamic. See the example on the front page. IMO angular is a framework similar to jQuery.
----------------------------
So how does TW fit into all this stuff:
ad a) TW is written using the javascript language
ad b)
tiddlywiki.js is a command line program, that allows you to do a lot of crazy stuff like: Building stand alone TiddlyWiki files. Run TW editions in a server mode.
and a lot more.ad c) The tiddlywiki core is similar to angular in functionality but completely different in implementation. So those 2 will
not work well together in the same file TW.
just my 2 cents
mario