# cloneDeep Creates a deep copy of the given object. ## Signature ```typescript function cloneDeep(obj: T): T; ``` ### Parameters - `obj` (`T`): The object to be copied. ### Returns (`T`): A deep copy of the given object. ## Examples ```typescript const num = 29; const clonedNum = cloneDeep(num); console.log(clonedNum); // 29 console.log(clonedNum === num); // true const arr = [1, 2, 3]; const clonedArr = cloneDeep(arr); console.log(clonedArr); // [1, 2, 3] console.log(clonedArr === arr); // false const obj = { a: 1, b: 'es-toolkit', c: [1, 2, 3] }; const clonedObj = cloneDeep(obj); console.log(clonedObj); // { a: 1, b: 'es-toolkit', c: [1, 2, 3] } console.log(clonedObj === obj); // false // Nested objects and arrays const nestedObj = { a: { b: { c: 'deep' } }, d: [1, 2, { e: 'nested' }] }; const clonedNestedObj = cloneDeep(nestedObj); console.log(clonedNestedObj); // { a: { b: { c: 'deep' } }, d: [1, 2, { e: 'nested' }] } console.log(clonedNestedObj === nestedObj); // false console.log(clonedNestedObj.a === nestedObj.a); // false console.log(clonedNestedObj.d === nestedObj.d); // false console.log(clonedNestedObj.d[2] === nestedObj.d[2]); // false ```