- 1 : 2024/12/21(土) 05:09:15.347 ID:3JP/BXQhn
- 久々に調べたら色々便利な機能追加されててビビるわ
staticフィールドとか3年前くらいからやっと使えるようになったんかい - 2 : 2024/12/21(土) 05:12:42.265 ID:3JP/BXQhn
- staticフィールドとstatic initializer
こんな感じでstaticフィールドを初期化できるclass A {
static a;
static b;
static {
a = 123141;
b = a + 1;
}
} - 3 : 2024/12/21(土) 05:13:45.334 ID:3JP/BXQhn
- ここにメモしていく
- 4 : 2024/12/21(土) 05:15:04.473 ID:3JP/BXQhn
- スプレッド構文
配列を引数に展開するやつ
Pythonの*listと同じconst a = [1, 2, 3]
console.log(…a) - 5 : 2024/12/21(土) 05:15:44.815 ID:LiBT83GY/
- TypeScriptも覚えろ
- 8 : 2024/12/21(土) 05:17:17.112 ID:3JP/BXQhn
- >>5
何かメリットあるん?バニラでももう十分便利じゃないの? - 25 : 2024/12/21(土) 05:41:07.787 ID:WlcPf561H
- >>8
やっぱりいろいろ便利やで
そりゃJavaScriptにトランスパイルされるんだから機能的には大差ないけどコーディングがクソ楽 - 6 : 2024/12/21(土) 05:16:25.905 ID:3JP/BXQhn
- 配列を初期化するときに別の配列を展開することもできて非常に便利
const a = [1, 2, 3]
const b = [0, …a, 4] - 7 : 2024/12/21(土) 05:16:56.039 ID:bZwxA6zDt
- 嫌や
なんでキンタマ野郎と一緒にやらなアカンねん - 9 : 2024/12/21(土) 05:20:03.536 ID:YUjqJfJE7
- staticってどの言語にもあるし勉強するものなのか?
- 11 : 2024/12/21(土) 05:21:54.190 ID:3JP/BXQhn
- >>9
使える/使えないは覚えとかないとね
これまでずっと使えなかったから効率良いコーディングに取り残されてしまう
static initializerみたいなのは他言語にある? - 18 : 2024/12/21(土) 05:28:42.518 ID:YUjqJfJE7
- >>11
c#の静的コンストラクターみたいなもんじゃないにょ? - 21 : 2024/12/21(土) 05:32:12.402 ID:3JP/BXQhn
- >>18
C#はjsより触ってないから実はよくわからないんや
そんなのもあったような気もする - 10 : 2024/12/21(土) 05:20:26.006 ID:3JP/BXQhn
- 分割代入
これもPythonでよくやるやつやねconst [a, b] = [1, 2]
末尾限定だけどスプレッド構文と似た書き方もできる
この場合eが配列になるconst [c, d, …e] = [10, 20, 30, 40, 50, 60]
- 12 : 2024/12/21(土) 05:21:55.326 ID:p19Q24yx2
- 基本的なのはchatGPTに聞けばええ
これからは構想力やで - 13 : 2024/12/21(土) 05:25:08.987 ID:3JP/BXQhn
- 冪乗
Pythonと同じや3**2 // = 9
-3**2みたいな書き方するとエラーが出る
符号どっちか紛らわしいからか?
関係ないけどExcelで=-3^2って書いたら正の9になるの気持ち悪すぎる - 15 : 2024/12/21(土) 05:26:30.080 ID:wW.sI1a.n
- >>13
そらマイナス3の二乗やから当然では - 19 : 2024/12/21(土) 05:31:27.320 ID:3JP/BXQhn
- >>15
普通に読んだら-(3^2)やろ
mathematicaさんもそう言っとるで
https://www.wolframalpha.com/input/?i=-3%5E2 - 32 : 2024/12/21(土) 05:58:59.478 ID:2pEdKtiSK
- >>15
マイナス3の二乗は(-3)²やな - 14 : 2024/12/21(土) 05:25:31.301 ID:wW.sI1a.n
- pythonのパクリやんけ
- 16 : 2024/12/21(土) 05:28:05.906 ID:3JP/BXQhn
- null合体演算子
三項演算子の特殊なやつが単独で切り出された機能
C#とかにあるやつやねa ?? 100 // a !== null ? a : 100 と同じ
昔はa || 100とかしてたような?可読性悪すぎやったね
- 31 : 2024/12/21(土) 05:54:43.586 ID:3JP/BXQhn
- >>16
これはundefinedでも100になるらしい - 17 : 2024/12/21(土) 05:28:18.880 ID:0wsI1p5uz
- スタティックって何ンゴ?
- 20 : 2024/12/21(土) 05:31:43.605 ID:YUjqJfJE7
- >>17
花見の席取り - 22 : 2024/12/21(土) 05:32:56.651 ID:3JP/BXQhn
- >>17
そのクラスのインスタンス全部が共有する変数とか関数のことや - 23 : 2024/12/21(土) 05:36:14.398 ID:3JP/BXQhn
- デフォルト引数
見たまんまfunction aiueo(a, b=100) {
console.log(a, b)
}aiueo(1, 2) // 1 2 が出力される
aiueo(1) // 1 100 が出力される - 24 : 2024/12/21(土) 05:39:54.318 ID:3JP/BXQhn
- パブリック・プライベートフィールド
class A {
a = 5;
#b = 5;
}コンストラクターでthis.a = …とか書かなくても直に書けるようになった
#から始まる名前の変数は勝手にprivateになって外部から参照できない
プライベート関数も同じ - 26 : 2024/12/21(土) 05:44:19.291 ID:3JP/BXQhn
- at()
文字列とか配列の値を取るときにPythonみたいに-1とか使える[1, 2, 3][0] // 1
[1, 2, 3][-1] // Error
[1, 2, 3].at(0) // 1
[1, 2, 3].at(-1) // 3ちなみにES2022でこの関数が追加されたおかげで、jsfuckっていうjsのあらゆるコードを5文字だったか6文字だったかで表現するっていうチャレンジが簡単になったらしい
- 27 : 2024/12/21(土) 05:45:32.711 ID:3JP/BXQhn
- >>26
ごめんこれエラーにならんわ
undefinedが返ってくる - 28 : 2024/12/21(土) 05:49:27.570 ID:YUjqJfJE7
- >>26
戻り値はstring? - 30 : 2024/12/21(土) 05:51:47.544 ID:3JP/BXQhn
- >>28
配列のatなら中身と同じ型
文字列のatなら文字列かな - 29 : 2024/12/21(土) 05:50:08.511 ID:3JP/BXQhn
- replaceAll()
文字列の置き換え
2020年くらいまでなかったらしい‘tomato’.replaceAll(‘to’, ‘aaa’)
- 33 : 2024/12/21(土) 06:00:00.231 ID:3JP/BXQhn
- Optional Chaining
連想配列にキーがあるかないかわからないときに使う
if文での判定をわざわざ書かなくて良くて便利
入れ子で何回でも使えるconst x = {
a: {
u: ‘aaa’
}
}const y = {
b: ‘aaa’
}x.a?.u // ‘aaa’
y.a?.u // undefined - 34 : 2024/12/21(土) 06:00:55.725 ID:fPQ4RhhM.
- TypeScript書け
型を明示しない世界を作るな
コメント