[レベル1-タスク4]自販機の記憶に残るフィードバック
レベル1最終タスク
どうやって開発したの?
👍 保護された操作
privateと差が少ない
サブクラスにもアクセスできます.
👍 インタフェースの分離
インタフェースとタイプが複雑になると,分離を考慮する.
👍 事前タイプのメンバー関数の宣言
export interface ProductInterface extends ProductType {
getName(): string;
getPrice(): number;
getQuantity(): number;
decreaseQuantity(): void;
}
classを記述する際にメンバー関数タイプを予め記述するクルーを見た.いい感じだ!👍 APIの処理
export const requestLogin = async (email: string, password: string) => {
const response = await request(
'/login',
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
email,
password,
}),
},
true,
);
👆 いっそAPIを持ってきた部分を外しましょう.interface IRequest {
status: 'success' | 'fail';
content: any;
}
const { status, content }: IRequest = await requestLogin(email, password);
👆 構造分解割当にインポートして処理します.depth가 덜 깊어질 것 같아요.
👍 TSの$ユーティリティ関数
export const $ = (selector, node: HTMLElement | DocumentFragment = document.body) =>
node.querySelector(selector);
👍 パラメータが3つを超える場合
export const generateItemPurchaseContentTemplate = (moneyAmount, itemList, change) => `
❗3つ以上のパラメータがある場合、オブジェクトとして受信するとエラーが回避される場合があります.👍 カリンですか?
const postServer = (baseUrl) => (path) => async (bodyData) => {
...
}
👍 routerをオブジェクトとして
this.router = {
[HASH.PRODUCT_MANAGEMENT]: () => {
this.productModerator.init();
},
[HASH.CHARGE_CHANGES]: () => {
this.changesModerator.init();
},
[HASH.PRODUCT_PURCHASE]: () => {
this.purchaseModerator.init();
},
[HASH.SIGNUP]: () => {
this.signUpModerator.init();
},
[HASH.LOGIN]: () => {
this.loginModerator.init();
},
[HASH.USER_INFO]: () => {
this.userInfoModerator.init();
},
};
this.router[hash]
? this.router[hash]()
: this.router[HASH.PRODUCT_PURCHASE]();
印象的でした!私はswitch文を使用して多くのブランチを介してルーティングします.
このように
객체 프로퍼티의 유무
に近ければ、接近速度はもっと速くなると思います.👍 CustomEvent
const pushStateEvent = new CustomEvent('pushstate', {
detail: { state },
});
window.history.pushState(state, '', href);
dispatchEvent(pushStateEvent);
他のイベント・オブジェクトにデータを転送できます.👍 名前は本当にいろいろあります。
1. 변수 이름에는 동사를 넣지 않는다
2. 변수의 단수형에는 관사를 넣지 않는다.
3. 전치사는 최대한 생략한다
動詞や命令式で命名するというコメントもありますどうしようかな~
どんな方法を使ってももっと似合う方法で…!
Reference
この問題について([レベル1-タスク4]自販機の記憶に残るフィードバック), 我々は、より多くの情報をここで見つけました https://velog.io/@jhy979/레벨1-미션4-자판기-기억에-남는-피드백テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol