Typescript 면접 질문

3594 단어

void와undefined는 어떤 차이가 있습니까?


네버 타입은 무엇입니까?


다음 코드가 틀리지 않을까요?어떻게 해결합니까?

const obj = {
    a: 1,
    b: 'string',
};
  
obj.c = null;

readonly와const는 어떤 차이가 있습니까?


다음 코드에서foo의 유형은 어떻게 설명해야 합니까

function foo (a: number) {
 
    return a + 1;
 
}
 
foo.bar = 123;

다음 코드에서foo의 종류는 어떻게 설명합니까

let foo = {};
  
for (let i = 0; i< 100; i++) {
    foo[String(i)] = i;
}

My Interface 구현

interface MyInterface {
    ...
}
class Bar implements MyInterface {
    constructor(public name: string) {}
}
class Foo implements MyInterface {
    constructor(public name: string) {}
}
  
function myfn(Klass: MyInterface, name: string) {
    return new Klass(name);
}
  
myfn(Bar);
myfn(Foo);

Abstract Class란?


class mixin은 무엇입니까? 어떻게 실현합니까?


typeof 키워드는 무슨 소용이 있습니까?


keyof 키워드는 무슨 소용이 있습니까?


다음 코드에서foo의 종류는 어떻게 설명합니까

function fn(value: number): string {
    return String(value);
}
const foo = fn;

다음 코드는 TS 컴파일에 실패할 수 있으며 getValue 유형 선언을 수정하는 방법입니다.

function getValue() {
    return this.value;
}
  
getValue();

다음은 vue-class-component의 일부 코드입니다. 왜 여러 개의Component 함수에 대한 설명이 있는지 설명합니다. 작용은 무엇입니까?TS 공식 문서의 해당 섹션에 설명서가 있습니까?

function Component (options: ComponentOptions): (target: V) => V
function Component (target: V): V
function Component (
 options: ComponentOptions | V
): any {
  if (typeof options === 'function') {
    return componentFactory(options)
  }
  return function (Component: V) {
    return componentFactory(Component, options)
  }
}

어떻게 foo의 유형을 성명합니까?

const foo = new Map();
foo.set('bar', 1);

여덟 번째 줄에서 발생할 실행 오류를 검사할 수 있도록 getProperty를 어떻게 설명합니까?

function getProperty(obj, key) {
    return obj[key].toString();
}
 
let x = { a: 1, b: 2, c: 3, d: 4 };
 
getProperty(x, "a");
getProperty(x, "m");

유형 성명에서 &와 |는 어떤 작용을 합니까?


다음 코드에서 "date is Date"는 어떤 역할을 합니까?

function isDate(date: any): date is Date {
  if (!date) return false;
  return Object.prototype.toString.call(date) === '[object Date]';
}

tsconfig.json에서 --strictNullChecks 매개 변수의 작용은 무엇입니까?


interface와 type 성명은 어떤 차이가 있습니까?


Calculator 선언을 보완하는 방법

interface Calculator {
    ...
}
 
let calcu: Calculator;
calcu(2)
  .multiply(5)
  .add(1)

'import...from','import...=require()'와'import(path:string)'는 어떤 차이가 있습니까?


declare 키워드는 무슨 소용이 있습니까?


module 키워드는 무슨 소용이 있습니까?


TS에서 CSS 또는 그림을 참조할 때 오류를 보고하지 않도록 하려면 어떻게 해야 합니까?

import "./index.scss";
import imgPath from "./home.png";

다음 js 파일을 설명하기 위해 d.ts를 작성합니다

class Foo {
}
module.exports = Foo;
module.exports.Bar = 1;

namespace와module는 어떤 차이가 있습니까


어떻게 module alias를 실현합니까?JS로 컴파일하여 직접 실행할 수 있습니까?

import Bar from '@src/Bar';

어떤 성명 유형이 type과value로 사용할 수 있습니까?

좋은 웹페이지 즐겨찾기