アップルをコードしたTypescript:Part 1-2から
16176 ワード
10.関数と方法のtype alias
関数のtype alias
きほんけいじょう
function (a:string) :string {
return a
}
タイプ別名の適用type FuncType = (a:string) => string
let 함수 : FuncType = Function (a) {
return a
}
let 함수 : FuncType = (a) => {
return a
}
メソッドのタイプ別名
オブジェクトにメソッドがある場合
let 회원정보 = {
name : 'kim',
age : 30,
plusOne(a) {
return a+1
},
changeName : ()=>{}
}
type aliasをオブジェクトに適用する方法type Info = {
name : string,
age : number,
plusOne : (a:number) => number ,
changeName : ()=> void
}
11.タイプスクリプトを使用してHTMLを操作する
index.html
h 4ラベルタイトルの変更
let title = document.querySelector('#title')
// 1안) Narrowing
if(title !== null) {
title.innerHTML = '반가워요'
}
// 2안) Narrowing
if(title instanceof Element){
title.innerHTML = '반가워요'
}
// 3안) Narrowing : 옵셔널 체이닝
if(title?.innerHTML){
title.innerHTML = '반가워요'
}
aラベルの変更let link = document.querySelector('.link')
// 1안) Narrowing
if(링크 instanceof HTMLAnchorElement){
링크.href = 'https://kakao.com'
}
ボタンラベルの変更let button = document.querySelector('#button')
// 1안) Narrowing
if(button instanceof HTMLButtonElement){
button.addEventListener('click', function (){})
}
// 2안) Narrowing
button?.addEventListener('click', function (){})
12.classの作成時に他の場所を指定できます
jsでクラスを作成する
class Person {
constructor (a){
this.name = a;
}
함수(a){
console.log('안녕'+a)
}
}
tsでクラスを作成するclass Person {
name :string
constructor (a){
this.name = a;
}
함수(a:string){
console.log('안녕'+a)
}
}
13. interface
インタフェース構文を使用してタイプを指定する
//type 문법
type Square = {color : string, width : number}
//interface 문법
interface Square {color : string, width : number}
let 네모 = {color:'red', width : 100}
拡張機能interface Student {
name :string
}
interface Teacher extends Student {
age :number
}
let 학생 :Student = {name : 'kim'}
let 선생 :Teacher = {name : 'kim', age : 20}
extends機能に似た&構文type Animal = {name :string}
type Cat = {age :number} & Animal
タイプとインタフェースの違いinterface Student {
name :string
}
interface Student {
score :number
}
// 결국 Student는 name 과 score 타입을 둘다 가진다.
interface Student {
name :string
}
interface Student { // 에러 발생
score :number
}
Reference
この問題について(アップルをコードしたTypescript:Part 1-2から), 我々は、より多くの情報をここで見つけました https://velog.io/@bleach7/Typescript-from-코딩애플-2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol