web-dev-qa-db-ja.com

強い型付けと静的な型付け、弱い型と動的な型付けの違い

私が理解していることから、動的型付けは弱い型付けと同じであり、強い型付けは静的型付けと同じです。違いは何ですか?ありがとう

43
Airon Zagarella

静的型付けvs動的型付け:

静的型付けとは、コンパイル時に型チェックが行われるときです。コード内の変数の型と、データに対して実行する操作を定義する必要があります。コンパイラによってチェックされます。

動的型付けとは、実行時に型チェックが行われる場合です。コードのコンパイル時に発生するエラーの代わりに、互換性のない型で操作を実行しようとすると、ランタイムエラーが発生します。ただし、複数のデータ型に対して一度だけ記述できるため、より用途の広い関数を使用できるというメリットがあります。

強いタイピングvs弱いタイピング:

強い型付けがある場合、そのデータ型のオブジェクトを直接操作することによってのみ、データの操作が許可されます。

弱い型付けでは、型を考慮せずにデータを操作できます。一部の言語では、ポインタを介してこれを行います。他の言語は、操作を実行する前にタイプの1つを別のタイプに変換します。

私が含めたリンクには、もう少し詳細な(そしておそらくより明確な)説明があります。

71
Boumbles