プログラミング言語を分類する方法の1つは、それがどれほど強くまたは弱く入力されているかによってです。ここで、「タイプされた」とは、変数がコンパイル時に既知の場合を意味します。これの例は、整数(1)が整数( "1")を含む文字列に追加されるシナリオです:
result = 1 "1";
整数を含む文字列は、多くの可動部品を備えた複雑なロジックスイートから意図せずに生成された可能性があります。また、単一の真実の源から意図的に生成された可能性があります。
「弱い」および「強い」という用語は、強いタイプのプログラミング言語が必ずしも弱いタイプのものよりも優れているわけではないという意味にもかかわらず。柔軟性が剛性よりも必要なシナリオがあり、その逆もあるかもしれません。プログラミングの多くの側面と同様に、答えは複数の外部コンテキストに依存します(つまり、「それは依存します」)。
。他の興味深いビットは、強いタイピングまたは弱いタイピングを構成するものの正式な定義がないことです。これは、強くまたは弱い型の言語と見なされるものの認識が人によって異なり、時間とともに変化する可能性があることを意味します。
JavaScriptは弱いタイプの言語と見なされており、この柔軟性はWebでの早期採用に貢献しました。ただし、Webが成熟し、工業化されるにつれて、JavaScriptのユースケースはより複雑になりました。
TypeScriptのような拡張機能が作成され、これを支援しました。それは、言語に強いタイピングを接ぎ木するJavaScriptの「プラグイン」と考えてください。これにより、プログラマーは複雑なセットアップをナビゲートするのに役立ちます。この例は、eコマースに使用されるデータ集約型シングルページアプリケーションです。
TypeScriptは現在、Web開発業界で非常に人気があり、多くの新しいプロジェクトは、最初に物事を設定するときにTypeScriptを使用することを義務付けています。
compile time。
Web上の多くのことと同様に、コンパイル時間は少し難しいです。 TypeScriptを使用するセットアップは、JavaScriptコードのコンポーネントピースを縫い合わせて、それらを単一のJavaScriptファイルにコンパイルして、ブラウザを読み取り、実行するようにコンパイルします。コンポーネントピースがコンパイルする時間は、それらがすべて結合されている場合です。タイプスクリプトは一種の監督として機能し、組み合わせが発生する前に自分で設定したタイプされた慣習を破ろうとすると、あなたに怒鳴ります。
ステッチされたjavaScriptファイルは、独自のコンパイル時間を備えたブラウザによって摂取されます。ブラウザコンパイル時間は、次のものによって非常に変動します。
css
css
のタイプテキストタイプ
ボーダースタイルを更新して点線の有効な型と入力された値を使用すると、ブラウザはボーダーをレンダリングします!
例2:計算
このペンでは、Pセレクターのフォントサイズのプロパティは、数値寸法タイプ(1.5REMなど)の値を期待しています。ただし、計算関数は、フォントサイズのプロパティの無効なタイプ値を生成します。これは、calc()関数の2番目の引数が文字列( "2rem")であり、数値寸法タイプではないためです。
このため、段落のフォントサイズは、次の最も適用可能な親ノードに戻ります。1.5レムのフォントサイズは、ボディ要素で宣言されています。これは雑草には少しですが、指摘する価値があります。2つのカスタムプロパティをcalc()関数に組み合わせることで、エラーを引き起こす可能性があります。両方のカスタムプロパティはそれ自体で有効ですが、calc()は破線のインデントのテキストタイプを受け入れません。不一致のユニットを含むカスタムプロパティを掛けることを試みる可能性のあるシナリオを考えてください。 - ビグ:500pxと - スマル:1em。
例3:再定義されたカスタムプロパティ:このcodepenのルートセレクターでは、#953fe3の値を持つ - color-cyanのカスタムプロパティを設定しました。次に、.Squareクラスでは、-color-cyanカスタムプロパティの値をトップに更新しました。 TOPは有効で入力された値ですが、バックグラウンドカラーの栄誉があるタイプではありません。
これは少し不自然ですが、注意しないとカスタムプロパティを再定義することがあなたから逃れることができる例として機能します。
この現象は、コミュニケーションが不十分なプロジェクト、より大きなCSSコードベース、およびCSS前処理者が規模のカスタムプロパティを構築するために使用される状況で見つけることができます。
。
ツーリング2番目は、開発者ツールにおけるFirefoxの優れたCSS検査オプションのスイートです。特に、未使用のCSSを特定する能力に注意を喚起したいと思います。これは、タイプの不一致に違反している可能性のあるセレクターを識別するのに非常に役立ちます。
CSSは、プログラミング言語である限り、強くタイプされており、プログラミング言語として長い間存在しています。また、最近多くの成長を遂げています。チェックインしていない場合は、いくつかの新しい驚くべき機能があります。
強く型のJavaScriptがより人気が高まるにつれて、開発者がCSSの企業でありながら柔軟なアプローチにより快適になるのを助けることが私の希望です。
フィードバックをしてくれたミリアム・スザンヌに感謝します。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3