国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

TypeScript の面接の質(zhì)問

Jan 05, 2025 pm 01:44 PM

TypeScript Interview Questions

質(zhì)問 - TypeScript とは何ですか?

  • TypeScript は Javascript のスーパーセットです
  • 靜的型を追加して、コード品質(zhì)の向上と実行前のエラーチェックを可能にします。
  • インターフェイス、列挙型、ジェネリックなどの機能をサポートします。
  • より優(yōu)れたエラーチェック、強化されたツール、改善されたコードの可読性を提供します。

質(zhì)問 - 明示的および暗黙的な型の割り當てとは何ですか?

  • 明示的とは、型を書き出すことを意味します。以下のように -
let firstName: string = "Rutvik";
  • 暗黙的とは、TypeScript が値に基づいて型を推測することを意味します。以下の型は數(shù)値とみなされます
let age = 23;

質(zhì)問 - TypeScript の any、unknown、never の違いは何ですか?

  • any の型は、任意の型の変數(shù)を割り當てるために使用されます。
  • 別の型を割り當て直してもエラーにはなりません。
let x: any = 10;
x = 'hello'; // No TypeScript error
console.log(x.toUpperCase()); // No TypeScript error
  • unknown 型は、値に対する操作を?qū)g行する前に型をチェックする必要があるため、any 型よりも優(yōu)れています。
let y: unknown = 10;
// Type assertion needed before using y as number
if (typeof y === 'number') {
    console.log(y.toFixed(2));
}
  • 型は決して発生しない値を表すことはありません。
  • これは通常、正しく返されない関數(shù)の return ステートメントに使用されます。
function throwError(message: string): never {
    throw new Error(message);
}

質(zhì)問 - 配列の型を指定するにはどうすればよいですか?

  • 配列を型指定するには、以下のように型を指定する必要があります。以下の例では、配列には文字列タイプのみを含めることができます。
const names: string[] = ["Rutvik", "Rohit", "Virat"];
names.push("Bumrah"); // no error
  • 配列の変更を防ぐ readonly キーワードを使用することもできます。
const names: readonly string[] = ["Rutvik", "Rohit", "Virat"];
names.push("Bumrah"); // Error: Property 'push' does not exist on type 'readonly string[]'.

質(zhì)問 - 配列の型推論とは何ですか?

  • 配列に型を指定しない場合、配列は自動的に型を推測します。
const numbers = [1, 2, 3]; // inferred to type number[]
numbers.push(4); // no error

質(zhì)問 - タプルとは何ですか?

  • これは、長さと型が事前定義された型配列です。
  • 異なる型の混合配列の型を與えるのに非常に便利です。
let ourTuple: [number, boolean, string];

// initialize correctly
ourTuple = [5, false, 'Coding Hero was here'];

質(zhì)問 - 読み取り専用タプルとは何ですか?

  • タプルを読み取り専用にしない場合は、定義された項目にさらに項目を追加でき、TypeScript はエラーをスローしません。
let ourTuple: [number, boolean, string];

// initialize correctly
ourTuple = [5, false, 'Coding Hero was here'];
//No safety in indexes from 3
ourTuple.push('This is wrong');
  • ここで、これを修正するために、type の前にキーワード readonly を使用します。
let ourTuple: readonly [number, boolean, string];
// initialize correctly
ourTuple = [5, false, 'Coding Hero was here'];
// throws error as it is readonly
ourTuple.push('Coding Hero took a day off');

質(zhì)問 - オブジェクトのタイプを指定するにはどうすればよいですか?

  • 別のオブジェクトのような構(gòu)造を作成し、オブジェクト內(nèi)のキーとキーのタイプを指定することで、オブジェクトのタイプを指定できます。
interface CarTypes {
    brand: string,
    model: string,
    year: number
}


const car: CarTypes = {
  brand: "Tata",
  model: "Punch",
  year: 2020
};

質(zhì)問 - オブジェクトにオプションのプロパティを設(shè)定するにはどうすればよいですか?

  • オプションのプロパティまたはキーを指定するには、? を追加する必要があります。 t キーの後に。
let firstName: string = "Rutvik";

質(zhì)問 - TypeScript の enum について説明してください。

  • 列挙型は定數(shù)である変數(shù)の一種です。その中の値のみを使用する必要があります。
  • 値はデフォルトでは數(shù)値であり、0 から始まり 1 ずつ増加します。
  • 數(shù)値または文字列ベースにすることができます
let age = 23;
let x: any = 10;
x = 'hello'; // No TypeScript error
console.log(x.toUpperCase()); // No TypeScript error

質(zhì)問 - 型エイリアスとは何ですか?

  • カスタム名で型を定義でき、文字列や數(shù)値などのすべてのプリミティブ型だけでなく、オブジェクトや配列などの複合型にも使用できます。
let y: unknown = 10;
// Type assertion needed before using y as number
if (typeof y === 'number') {
    console.log(y.toFixed(2));
}

質(zhì)問 - インターフェースとは何ですか?

  • インターフェイスは型に似ていますが、オブジェクトに対してのみ使用できます。
function throwError(message: string): never {
    throw new Error(message);
}

質(zhì)問 - インターフェイスを拡張するにはどうすればよいですか?

  • インターフェイスは、extend キーワードを使用して拡張できます。
const names: string[] = ["Rutvik", "Rohit", "Virat"];
names.push("Bumrah"); // no error

質(zhì)問 - Union タイプと Intersection タイプとは何ですか?

ユニオン:-

  • 共用體タイプは、プロパティが文字列や數(shù)値など、複數(shù)の値になる場合に使用されます。
  • このため、これらは OR とも呼ばれ、 | を使用して使用されます。シンボル。
const names: readonly string[] = ["Rutvik", "Rohit", "Virat"];
names.push("Bumrah"); // Error: Property 'push' does not exist on type 'readonly string[]'.

交差點:-

  • 交差タイプは、複數(shù)のタイプを 1 つに結(jié)合する場合に使用されます。
  • このため、AND とも呼ばれ、& 記號を使用して使用されます。
const numbers = [1, 2, 3]; // inferred to type number[]
numbers.push(4); // no error

質(zhì)問 - Typescript の関數(shù)とは何ですか?

関數(shù)で戻り値の型を指定するにはどうすればよいですか?

  • 関數(shù)名の後に : 記號を付けると、関數(shù)の戻り値の型を指定できます。
let ourTuple: [number, boolean, string];

// initialize correctly
ourTuple = [5, false, 'Coding Hero was here'];

関數(shù)でパラメータの型を指定するにはどうすればよいですか?

  • 各パラメータの後に : 記號を使用してパラメータの種類を指定することができます。
let ourTuple: [number, boolean, string];

// initialize correctly
ourTuple = [5, false, 'Coding Hero was here'];
//No safety in indexes from 3
ourTuple.push('This is wrong');

関數(shù)にオプション、デフォルト、殘りのパラメータを與えるにはどうすればよいですか?

  • デフォルトのパラメータを使用すると、パラメータをオプションとしてマークできます。このように、c はオプションであり、? で示されます。
let ourTuple: readonly [number, boolean, string];
// initialize correctly
ourTuple = [5, false, 'Coding Hero was here'];
// throws error as it is readonly
ourTuple.push('Coding Hero took a day off');
  • デフォルト値 (ES6 の機能) はタイプの後に続きます。
interface CarTypes {
    brand: string,
    model: string,
    year: number
}


const car: CarTypes = {
  brand: "Tata",
  model: "Punch",
  year: 2020
};
  • 殘りのパラメータ (ES6 機能) は、渡された項目を配列に変換するため、配列の型が與えられます。
interface CarTypes {
    brand: string,
    model: string,
    year?: number
}

const car: CarTypes = {
  brand: "Tata",
  model: "Punch"
};

質(zhì)問 - TypeScript のキャストとは何ですか?

  • キャストは、変數(shù)の型をオーバーライドするプロセスです。
  • 以下の例のように、型は不明ですが、as キーワードを使用すると文字列になります。
enum Direction {
  Up = 1,
  Down,
  Left,
  Right,
}
console.log(Direction.Up); // 1
console.log(Direction.Down); // 2
  • <> も使用できます。としての代わりに。どちらも同じ意味です。
let firstName: string = "Rutvik";

質(zhì)問 - TypeScript のジェネリックとは何ですか?

  • Typeascript のジェネリックを使用すると、複數(shù)のデータ型を処理できる再利用可能なコンポーネントまたは命令を作成できます。
let age = 23;

質(zhì)問 - Typescript のユーティリティ型?

  • TypeScript は、一般的な型変換を簡素化するユーティリティ型を提供します。
  • これらの型により、オブジェクトおよびインターフェイス型の操作と対話が容易になります。
  • 一般的に使用されるいくつかのユーティリティ タイプの內(nèi)訳を次に示します。

1. 部分的

  • タイプ T のすべてのプロパティをオプションにします。
  • ユースケース: 一部のプロパティのみが必要なオブジェクトを作成する場合。
let x: any = 10;
x = 'hello'; // No TypeScript error
console.log(x.toUpperCase()); // No TypeScript error

2. 必須

  • タイプ T のすべてのプロパティを必須にします。
  • 使用例: すべてのプロパティが存在する必要があることを強制したい場合。
let y: unknown = 10;
// Type assertion needed before using y as number
if (typeof y === 'number') {
    console.log(y.toFixed(2));
}

3. 読み取り専用

  • タイプ T のすべてのプロパティを読み取り専用にします。
  • 使用例: オブジェクトのプロパティが変更できないようにするため。
function throwError(message: string): never {
    throw new Error(message);
}

4.ピック

  • 型 T からプロパティ K のセットを選択して型を作成します。
  • ユースケース: 型の特定のプロパティのみが必要な場合。
const names: string[] = ["Rutvik", "Rohit", "Virat"];
names.push("Bumrah"); // no error

5.省略

  • 型 T からプロパティ K のセットを省略して型を作成します。
  • ユースケース: 特定のプロパティを除くすべてのプロパティが必要な場合。
const names: readonly string[] = ["Rutvik", "Rohit", "Virat"];
names.push("Bumrah"); // Error: Property 'push' does not exist on type 'readonly string[]'.

6. 記録

  • キー K と型 T の値を使用して型を構(gòu)築します。
  • 使用例: 固定キーと一??貫した値タイプを持つオブジェクト タイプを作成します。
const numbers = [1, 2, 3]; // inferred to type number[]
numbers.push(4); // no error

7.除外する

  • U に割り當て可能なすべての型を型 T から除外します。
  • 使用例: 特定のタイプをフィルタリングして除外します。
let ourTuple: [number, boolean, string];

// initialize correctly
ourTuple = [5, false, 'Coding Hero was here'];

8. 抽出

  • 型 T から U に割り當て可能な型のみを抽出します。
  • 使用例: タイプを特定のサブセットに絞り込むため。
let ourTuple: [number, boolean, string];

// initialize correctly
ourTuple = [5, false, 'Coding Hero was here'];
//No safety in indexes from 3
ourTuple.push('This is wrong');

9.Null不可

  • 型 T から null と unknown を除外します。
  • 使用例: 値が null または未定義でないことを確認します。
let ourTuple: readonly [number, boolean, string];
// initialize correctly
ourTuple = [5, false, 'Coding Hero was here'];
// throws error as it is readonly
ourTuple.push('Coding Hero took a day off');

10. 戻り値の型

  • 関數(shù)型の戻り値の型を推論します。
  • 使用例: 関數(shù)の戻り値の型をキャプチャして使用します。
interface CarTypes {
    brand: string,
    model: string,
    year: number
}


const car: CarTypes = {
  brand: "Tata",
  model: "Punch",
  year: 2020
};

11. インスタンスタイプ

  • コンストラクター関數(shù)型 T のインスタンス型で構(gòu)成される型を構(gòu)築します。
  • 使用例: クラス インスタンスの型を取得します。
interface CarTypes {
    brand: string,
    model: string,
    year?: number
}

const car: CarTypes = {
  brand: "Tata",
  model: "Punch"
};

12. パラメータ

  • 関數(shù)型のパラメータの型を抽出します。
  • 使用例: 関數(shù)のパラメーターの型を再利用する。
enum Direction {
  Up = 1,
  Down,
  Left,
  Right,
}
console.log(Direction.Up); // 1
console.log(Direction.Down); // 2

以上がTypeScript の面接の質(zhì)問の詳細內(nèi)容です。詳細については、PHP 中國語 Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當する法的責任を負いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Java vs. JavaScript:混亂を解消します Java vs. JavaScript:混亂を解消します Jun 20, 2025 am 12:27 AM

JavaとJavaScriptは異なるプログラミング言語であり、それぞれ異なるアプリケーションシナリオに適しています。 Javaは大規(guī)模なエンタープライズおよびモバイルアプリケーション開発に使用されますが、JavaScriptは主にWebページ開発に使用されます。

JavaScriptコメント:短い説明 JavaScriptコメント:短い説明 Jun 19, 2025 am 12:40 AM

JavaScriptcommentsEareEssentialential-formaining、およびGuidingCodeexecution.1)single-linecommentseared forquickexplanations.2)多LinecommentsexplaincomplexlogiCorprovidededocumentation.3)clarifyspartsofcode.bestpractic

JSで日付と時間を操作する方法は? JSで日付と時間を操作する方法は? Jul 01, 2025 am 01:27 AM

JavaScriptで日付と時間を処理する場合は、次の點に注意する必要があります。1。日付オブジェクトを作成するには多くの方法があります。 ISO形式の文字列を使用して、互換性を確保することをお勧めします。 2。時間情報を取得および設(shè)定して、メソッドを設(shè)定でき、月は0から始まることに注意してください。 3.手動でのフォーマット日付には文字列が必要であり、サードパーティライブラリも使用できます。 4.ルクソンなどのタイムゾーンをサポートするライブラリを使用することをお勧めします。これらの重要なポイントを習得すると、一般的な間違いを効果的に回避できます。

なぜの下部にタグを配置する必要があるのですか? なぜの下部にタグを配置する必要があるのですか? Jul 02, 2025 am 01:22 AM

PLACSTHETTHETTHE BOTTOMOFABLOGPOSTORWEBPAGESERVESPAGESPORCICALPURPOSESESFORSEO、userexperience、andDesign.1.IthelpswithiobyAllowingseNStoAccessKeysword-relevanttagwithtagwithtagwithtagwithemaincontent.2.iTimrovesexperiencebyepingepintepepinedeeping

JavaScript vs. Java:開発者向けの包括的な比較 JavaScript vs. Java:開発者向けの包括的な比較 Jun 20, 2025 am 12:21 AM

javascriptispreferredforwebdevelopment、whilejavaisbetterforlge-scalebackendsystemsandroidapps.1)javascriptexcelsininintingtivewebexperiences withitsdynAmicnature anddommanipulation.2)javaofferstruntypyping-dobject-reientedpeatures

JavaScript:効率的なコーディングのためのデータ型の調(diào)査 JavaScript:効率的なコーディングのためのデータ型の調(diào)査 Jun 20, 2025 am 12:46 AM

javascripthassevenfundamentaldatypes:number、string、boolean、undefined、null、object、andsymbol.1)numberseadouble-precisionformat、有用であるため、有用性の高いものであるため、but-for-loating-pointarithmetic.2)ストリングリムムット、使用率が有用であること

DOMでのイベントの泡立ちとキャプチャとは何ですか? DOMでのイベントの泡立ちとキャプチャとは何ですか? Jul 02, 2025 am 01:19 AM

イベントキャプチャとバブルは、DOMのイベント伝播の2つの段階です。キャプチャは最上層からターゲット要素までであり、バブルはターゲット要素から上層までです。 1.イベントキャプチャは、AddEventListenerのUseCaptureパラメーターをTrueに設(shè)定することにより実裝されます。 2。イベントバブルはデフォルトの動作であり、UseCaptureはfalseに設(shè)定されているか、省略されます。 3。イベントの伝播を使用して、イベントの伝播を防ぐことができます。 4.イベントバブルは、動的なコンテンツ処理効率を改善するためにイベント委任をサポートします。 5.キャプチャを使用して、ロギングやエラー処理など、事前にイベントを傍受できます。これらの2つのフェーズを理解することは、タイミングとJavaScriptがユーザー操作にどのように反応するかを正確に制御するのに役立ちます。

JavaとJavaScriptの違いは何ですか? JavaとJavaScriptの違いは何ですか? Jun 17, 2025 am 09:17 AM

JavaとJavaScriptは、異なるプログラミング言語です。 1.Javaは、エンタープライズアプリケーションや大規(guī)模なシステムに適した、靜的に型付けされ、コンパイルされた言語です。 2。JavaScriptは動的なタイプと解釈された言語であり、主にWebインタラクションとフロントエンド開発に使用されます。

See all articles