---
title: Brand New World with Annotated Types
tags: 
author: [Jxck](https://www.docswell.com/user/jxck)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/VJNWG594J8.jpg?width=480
description: TSKaigi 2025 事後勉強会 https://smarthr.connpass.com/event/355359/
published: June 06, 25
canonical: https://www.docswell.com/s/jxck/ZMXDLE-brand-new-world-with-annotated-types
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/VJNWG594J8.jpg)

Brand New World
w/
Annotated Types
#tskaigi2025_kataritai
2025/06/06


# Page. 2

![Page Image](https://bcdn.docswell.com/page/YE9XWY2473.jpg)



# Page. 3

![Page Image](https://bcdn.docswell.com/page/GE82N65VED.jpg)

Type
as
Annotation


# Page. 4

![Page Image](https://bcdn.docswell.com/page/LEL2P9YR7R.jpg)



# Page. 5

![Page Image](https://bcdn.docswell.com/page/4JM84ZNPJW.jpg)

tsc
o
-g
ts


# Page. 6

![Page Image](https://bcdn.docswell.com/page/PJR5W6DYE9.jpg)

type stripping
via
amaro(swc)


# Page. 7

![Page Image](https://bcdn.docswell.com/page/PEXKPM14JX.jpg)

Type as Annotation


# Page. 8

![Page Image](https://bcdn.docswell.com/page/3EK5DG2PJD.jpg)

Stage: 1


# Page. 9

![Page Image](https://bcdn.docswell.com/page/L73KRN4475.jpg)

class Person {
name: string;
constructor(name: string) {
this.name = name;
}
TypeScript
getGreeting(): string {
return Hello, ${this.name};
}
}


# Page. 10

![Page Image](https://bcdn.docswell.com/page/87D3YWQ5JG.jpg)

Types as
Annotation
class Person {
name /*: string*/;
constructor(name /*: string*/) {
this.name = name;
}
getGreeting()/*: string*/ {
return Hello ${this.name};
}
}


# Page. 11

![Page Image](https://bcdn.docswell.com/page/VJP469LD78.jpg)

🤔 ?? How ?? 🤔


# Page. 12

![Page Image](https://bcdn.docswell.com/page/2EVX3MQGJQ.jpg)

Standardise
TypeScript
in
ECMA


# Page. 13

![Page Image](https://bcdn.docswell.com/page/57GV3GND7L.jpg)

Comments
not
wrapped with
/* */


# Page. 14

![Page Image](https://bcdn.docswell.com/page/4EQ65XQXEP.jpg)

const name: string = &quot;Jxck&quot;
Treat as Comment


# Page. 15

![Page Image](https://bcdn.docswell.com/page/KJ4496N2J1.jpg)

const name: ここはどうせコメント
なので何を書いても
怒られない??🤔 = &quot;Jxck&quot;


# Page. 16

![Page Image](https://bcdn.docswell.com/page/LE14KV5KEG.jpg)

Brand new World !!
🤩🤩🤩


# Page. 17

![Page Image](https://bcdn.docswell.com/page/GEWXDL5P72.jpg)

SQL as
Comments
const user: logging(warn) = &quot;Jxck&quot;


# Page. 18

![Page Image](https://bcdn.docswell.com/page/47Z6GMN673.jpg)

Cooments as
Comments
const regist: (FIXME) regist って
日本語は無いって
何度言ったら、、 = true


# Page. 19

![Page Image](https://bcdn.docswell.com/page/YJ62YN8L7V.jpg)

Decorator
as comments
const user: select id, name
from Users
where user id = &quot;Jxck&quot;


# Page. 20

![Page Image](https://bcdn.docswell.com/page/GJ52G59MJ4.jpg)

Brain f**k
as comments
const user:
++++++++[&gt;++++++++++++++&lt;-]&gt;+++.&lt;
&gt;+.&lt;
&gt;--.&lt;
&gt;---------.&lt;
&gt;+++++.&lt;
&gt;-------.&lt; = &quot;Jxck&quot;


# Page. 21

![Page Image](https://bcdn.docswell.com/page/9E24YN2RJR.jpg)

Type as
Annotation
🤔
Your
World
as
Comments
Your
Preprocessor


# Page. 22

![Page Image](https://bcdn.docswell.com/page/D7YMGPY57M.jpg)

🤔 ?? Possible ?? 🤔


# Page. 23

![Page Image](https://bcdn.docswell.com/page/VENWG5P4E8.jpg)

Last discussion: 2023/09
tl;dr; Work In Very
Early Progress


# Page. 24

![Page Image](https://bcdn.docswell.com/page/Y79XWY34J3.jpg)

🤔


