00007-easy-readonly

Back

type MyReadonly<T> = {
  readonly [K in keyof T]: T[K]
}

Solution by Yunjaejo #35865

// 你的答案
type MyReadonly<T> = {
  readonly [P in keyof T]: T[P]
}

Solution by reonce #35817

// 你的答案
type MyReadonly<T> = {
  readonly [key in keyof T]: T[key]
}

Solution by song4613107 #35783

//type cases = [
  Expect<Equal<MyReadonly<Todo1>, Readonly<Todo1>>>,
]

Solution by hatbann #35757

type MyReadonly<T> = {
  readonly [K in keyof T]: T[K]
}

Solution by XenoPOMP #35739

type MyReadonly<T> = {readonly[K in keyof T]: T[K]}

Solution by Sensuele #35735

type myReadonly<T> = {
  readonly [P in keyof T]: T[P];
}

readonly修饰对应的属性

Solution by Yangkro #35710

type MyReadonly<T extends object> = {
  readonly [P in keyof T]: T[P]
}

Solution by criszst #35704

type MyReadonly<T> = {
  readonly [P in keyof T]: T[P]
} 

Solution by thukyaw11 #35524

// your answers
type MyReadOnly<T> = { [Key in keyof T] : T[Key]};

Solution by Sathiyapramod #35502

// 여기 풀이를 입력하세요
type MyReadonly<T> = { readonly [key in keyof T]: T[key] }

Solution by Gwanghun-Im #35488

type MyReadonly<T> = { readonly [key in keyof T]: T[key] }

Solution by gangnamssal #35465

type MyReadonly<T> = {
  readonly [k in keyof T] : T[k]
}

Solution by RanungPark #35429

// 你的答案
type MyReadonly<T> = {
  readonly [key in keyof T] : T[key]
}

Solution by dixiaioping #35382

type MyReadonly<T> = {
 readonly [key in keyof T]: T[key]
} 

Solution by SB-SLIM #35375

type MyReadonly<T> = {
  readonly [key in keyof T]: T[key]
}

Solution by gyeounjeong #35350

type MyReadonly = {readonly [key in keyof T]: T[key]}

Solution by kvyy #35317

type MyReadonly<T extends Record<string, any>> = { readonly [K in keyof T]: T[K] }

Solution by vaclock #35269

type MyReadonly<T> = {
  readonly [Property in keyof T]: T[Property]
}

Solution by Muntazir-sd #35193

/* 7 - Readonly

by Anthony Fu (@antfu) #easy #built-in #readonly #object-keys

Question

Implement the built-in Readonly<T> generic without using it.

Constructs a type with all properties of T set to readonly, meaning the properties of the constructed type cannot be reassigned.

For example:

interface Todo {
  title: string
  description: string
}

const todo: MyReadonly<Todo> = {
  title: "Hey",
  description: "foobar"
}

todo.title = "Hello" // Error: cannot reassign a readonly property
todo.description = "barFoo" // Error: cannot reassign a readonly property

View on GitHub: https://tsch.js.org/7 */

/* _____________ Your Code Here _____________ */

type MyReadonly = { readonly [K in keyof T]: T[K]; }

/* _____________ Test Cases _____________ */ import type { Equal, Expect } from '@type-challenges/utils'

type cases = [ Expect<Equal<MyReadonly, Readonly>>, ]

interface Todo1 { title: string description: string completed: boolean meta: { author: string } }

/* _____________ Further Steps _____________ / /

Share your solutions: https://tsch.js.org/7/answer View solutions: https://tsch.js.org/7/solutions More Challenges: https://tsch.js.org */

Solution by leetflow #35154

type MyReadonly<T> = { readonly [P in keyof T] : T[P]}

Solution by JAGORING #35145

type MyReadonly<T extends object> = {
	readonly [P in keyof T]: T[P]
}

Solution by lwfxzz #35117

type MyReadonly<T extends object> = {
  readonly [key in keyof T] : T[key]
}

Solution by chenweiHuabi #35079

type MyReadonly<T> = {
  readonly [k in keyof T]: T[k]
}

Solution by koplec #35043

type MyReadonly<T> = {
  +readonly [K in keyof T]: T[K];
};

Define a new type by adding the readonly keyword to all properties of the generic type T.

Solution by miju-Park #34948

type MyReadonly<T> = {
  readonly [P in keyof T]: T[P];
};

Solution by raeyoung-kim #34889


type MyReadonly<T> = {
  readonly [key in keyof T]: T[key]
}

Solution by floatDreamWithSong #34868

type MyReadonly<T> = {
  readonly[key in keyof T] : T[key]
}

Solution by 56aiden90 #34866

type MyReadonly<T> = {
    readonly [K in keyof T]: T[K]
}

Solution by HrOkiG2 #34827

// your answers
type MyReadonly<T> = { readonly [K in keyof T]: T[K] }

Solution by eunsukimme #34807