From cdf3223a75172c114576f926f40c31a668b8f159 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 20 Sep 2023 19:57:06 +0100 Subject: [PATCH] daily-email: add 2023-09-15 Types or no types --- src/content/daily-email/2023-09-15.md | 53 +++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/content/daily-email/2023-09-15.md diff --git a/src/content/daily-email/2023-09-15.md b/src/content/daily-email/2023-09-15.md new file mode 100644 index 00000000..6b5b18bf --- /dev/null +++ b/src/content/daily-email/2023-09-15.md @@ -0,0 +1,53 @@ +--- +title: > + Types or no types +pubDate: 2023-09-15 +permalink: > + archive/2023/09/15/types-or-no-types +tags: + - software-development + - types + - JavaScript + - TypeScript +--- + +Here are two versions of some example code I've recently been working on. + +One has types and uses TypeScript, the other is JavaScript and has no types. + +Which do you prefer and why? + +## TypeScript (with types) + +```js +add(...numbers: number[]): number { + return numbers.reduce((a: number, b: number) => a + b, 0); +} + +subtract(...numbers: number[]): number { + let total = numbers[0]; + + for (var i = 1, length = numbers.length; i < length; i++) { + total -= numbers[i]; + } + return total; +} +``` + +## JavaScript (no types) + +```js +add(...numbers){ + return numbers.reduce((a, b) => a + b, 0); +} + +subtract(...numbers) { + let total = numbers[0]; + + for (var i = 1, length = numbers.length; i < length; i++) { + total -= numbers[i]; + } + + return total; +} +```