68860


Vue.jsでextends Vueというのをよく使うのですが  
先日にtypescriptの機能だと教わりました

javascriptにextendsがあるので  
javascriptの機能だと思っていたのですが  
これは本当にtypescriptの機能なのでしょうか？

簡単な質問で申し訳ありませんが、よろしくお願いします。


CC BY-SA 4.0
2020-07-23T08:38:21.933
68856
2020-08-06T08:55:46.737
2020-07-23T10:25:23.380
19110
41220
question
javascript vue.js typescript
extends Vueはtypescriptの機能ですか？


こんにちは、はじめまして。

まずTypeScriptはaltJSと呼ばれるものの一種で、実行時にJavaScriptに変換されるスクリプトです。  
JavaScriptだとどこでも動いて便利ですが、静的型付けを使ってしっかり作りたいとか、ミスを減らしたいなどの理由で開発がさかんです。

extends
VueはVue.extend()のこととして解釈しますが(もし違ったらご指摘ください)、これはVueコンポーネントを継承して新規にコンポーネントを作成する命令でTypeScriptと親和性が高いとされています。もちろんJavaScriptからも利用できます。

<https://v2.vuejs.org/v2/api/#Vue-extend>

最後に、Vue.extend()がjavascriptの機能かtypescriptの機能かという話ですが、これはVue.jsの機能じゃないでしょうか。Vue.js自体はjavascriptで書かれてるようですね。

## 追記

extends構文に関することとのことでしたので追記します。extends構文はJavaScriptにはES6(2015)から実装された比較的新しいものです。TypeScriptで作成したスクリプトではextendsの構文を利用してそれ以前のJavaScriptの環境でも動作させることもできます。講師の方がここで説明されたいのは、そのことではないかと思われます。


CC BY-SA 4.0
2020-07-23T09:54:51.927
68860
2020-08-06T08:55:46.737
2022-09-27T22:35:34.400
-1
37777
68856
answer


TypeScript の構文は JavaScript の構文を拡張する形で作られています。つまり JavaScript で使える構文は TypeScript
でも使えます（あくまで構文の話であって、コンパイルすると型エラーが出ることはあるかもしれませんが）。

つまり、class を extends する構文は [JavaScript で使えます](https://developer.mozilla.org/en-
US/docs/Web/JavaScript/Reference/Classes/extends)が、TypeScript
でも使えます。どちらでも使える構文です。


CC BY-SA 4.0
2020-07-23T10:27:37.383
68861
2020-07-23T10:27:37.383
19110
68856
answer