راکت

چک نکردن نوع متغییر در تایپ اسکریپت

بدون پاسخ

سلام. من چند روزیه دارم با تایپ اسکریپت کار می کنم (در حال یاد گیری)
الان به یه مشکل عجیب برخورد داشتم که نمی دانم از سمت من هست یا یه باگ تو تایپ اسکریپت هست. انتظار من از تایپ اسکریپت این هست که نوع متغییر ها رو چک کنه و اگه یک مقدار اشتباه به متغییر دادم اون رو به من هشدار بده تا خطا زمان اجرا نداشته باشم.

type A = {
  a1: string
  a2: string
}
type B = {
  b1: string
}
type AB = {
  a1: string
  b1: string
}
const a: A = { a1: "", a2: "" }
const b: B = { b1: "" }

const ab: AB = { ...a, ...b }
console.log(ab) // {a1: "", a2: "" ,b1: ""}

در کد بالا من یک مقدار اشتباه به نوع متغییر AB دادم ولی تایپ اسکریپت متوجه نشد!

type User = {
  id: string
  mobile: string
  role: string
}

type UserJWT = {
  id: string
  role: string
}

const users: User[] = [{ id: "", mobile: "", role: "" }]

const jwt: UserJWT = users[0]
console.log(jwt) // { id: '', mobile: '', role: '' }

در کد بالا هم من ارایه ای از کاربران داردم و میتونم یکی از ایتم های ارایه رو با استفاده از ایندکس اون بگیرم (که دقیقا نوع User هست) و توی هر نوع متغییری بریزم! یعنی تایپ اسکریپ با مقادیر درون ارایه مثل نوع any رفتار می کنه!

ثبت پرسش جدید

پاسخ‌ها

0

هنوز پاسخی ثبت نشده

اولین نفری باشید که به این پرسش کمک می‌کند و مسیر حل مشکل را باز می‌کند.

اولین پاسخ را بنویسید

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام