JavaScript 레코드를 설명하시겠습니까?

Javascript Lekodeuleul Seolmyeonghasigessseubnikka



JavaScript는 기본이 아닌 데이터 유형 ' 물체 ”는 기본(내장) 데이터 유형의 도움으로 파생됩니다. '개체'는 JavaScript 멤버에 액세스하는 인스턴스 역할을 합니다. 기본 데이터 유형이 수행할 수 없는 특정 작업을 수행하기 위해 JavaScript 함수를 호출하는 데 사용됩니다. 그러나 이 데이터 유형의 한 가지 단점은 내용이 아닌 ID를 기반으로 비교 작업을 수행한다는 것입니다. 이 문제를 해결하기 위해 JavaScript는 새로운 데이터 유형 '을 제공합니다. 기록 ” 아이덴티티가 아닌 내용을 기준으로 엄격하게 비교하기 때문입니다.

이 가이드는 JavaScript 레코드에 대해 설명합니다.







'기록'이란 무엇입니까?

자바스크립트 ' 기록 ”는 내장형과 유사한 새로운 기본 유형(문자열, 숫자, 기호)입니다. . 유일한 차이점은 '레코드'는 순전히 변경할 수 없다는 것입니다. 즉, 키 값은 일단 초기화되면 변경할 수 없습니다.



통사론



'의 구문 기록 '는 '객체'와 동일하지만 ' # (해시)” 기호는 중괄호 앞의 “기록”으로 표시됩니다.





const 기록 이름 = #{
/*
핵심 가치
/*
}


위에서 언급한 구문을 사용하여 새 레코드를 생성해 보겠습니다.

레코드를 만드는 방법?

레코드를 만들려면 아래 코드 블록과 같이 중괄호 시작 부분에 '#(해시)' 기호를 지정합니다.



const 사람 = #{
이름: '또는' ,
이름: '우스만' ,
나이: 이십 일 ,
}
console.log ( 사람 이름 )
console.log ( 사람.이름 )
console.log ( 인물 )


위의 코드 블록에서:

    • 사람 '는 'fname', 'lname' 및 'age' 키가 있는 새 '레코드'를 나타냅니다.
    • 다음으로 “ 콘솔. 통나무() ” 메서드는 각각 “사람” 키 값을 하나씩 표시합니다.

메모: 사용자는 다음과 같이 한 줄에 '레코드' 콘텐츠를 지정할 수도 있습니다.

const 사람 = #{fname: 'Ali', lname: 'Usman', 나이: 21}


산출


생성된 레코드 '사람'의 모든 키 값이 출력에 표시되는 것을 볼 수 있습니다.

기록의 한계

'레코드'는 '배열' 및 '개체'를 키로 허용하지 않습니다. 사용자가 레코드에 전달하면 컴파일러는 ' 유형 오류 '. 다음 코드 블록은 실제로 이를 보여줍니다.

const newRecord = #{
도착: [ 'HTML' , 'CSS' , '자바스크립트' ]
}
console.log ( person.arr )


위의 코드 라인에서:

    • 새로운 기록 '는 'arr'이라는 배열을 키로 초기화합니다.
    • 다음으로 “ 콘솔. 통나무() '는 'newRecord'에 지정된 'arr' 키 값을 표시합니다.

산출


'Records'가 배열을 키로 허용하지 않기 때문에 콘솔에 'TypeError(예기치 않은 유형 전달)'가 표시됩니다.

예제를 사용하여 JavaScript 레코드 이해

이 섹션은 주어진 예제의 도움을 받아 실질적으로 '레코드'의 사용으로 구성됩니다.

첫 번째 예부터 시작하겠습니다.

예 1: 레코드는 매우 불변입니다.

자바스크립트 ' 기록 '는 변경 불가능한 기본 유형입니다. '매우 불변'이란 레코드의 모든 키 값이 일단 설정되면 어떤 수준에서도 수정하거나 변경할 수 없음을 의미합니다. '원시적' 유형은 문자열, 숫자, null, 정의되지 않음 등과 같은 모든 기본 JavaScript 데이터 유형을 나타냅니다.

다음 코드 블록은 명시된 개념을 실제로 보여줍니다.

const myRecord = #{
이름: '또는' ,
나이: 이십 일 ,
}
myRecord.이름= '하룬'


위의 코드 블록에서 ' 마이레코드 ' 열쇠 ' 이름 ” 값은 초기화 후 수정됩니다.

산출


컴파일러에서 'newRecord' 키 값을 수정하면 'TypeError'가 표시되는 것을 관찰할 수 있습니다.

예 2: 레코드는 비교 대상입니다.

'레코드'의 가장 큰 장점은 ID가 아닌 값을 기준으로 비교된다는 것입니다. 반면 '객체'는 값이 아닌 ID에 따라 비교됩니다. 두 개의 레코드 값이 같으면 컴파일러는 true를 검색합니다.

주어진 코드 줄의 도움을 받아 실제로 살펴보겠습니다.

const myRecord = #{
이름: '또는' ,
나이: 이십 일 ,
}
console.log ( 마이레코드 === #{
이름: '또는' ,
나이: 이십 일 ,
} ) ;


여기에서 위의 코드 스니펫은 ' 엄격한 평등 (===)” 연산자.

산출


출력은 ' 진실 ” 지정된 연산자, 즉 '레코드'가 같음을 의미하는 부울 값입니다.

예 3: 레코드를 개체로 변환

JavaScript 'Records'는 'Object' 생성자의 도움을 받아 'Object' 데이터 유형으로 변환할 수도 있습니다. 실제 구현은 다음과 같습니다.

허락하다 마이레코드 = #{ 하나: 1, 둘: 2 }
console.log ( 물체 ( 마이레코드 ) )
console.log ( myRecord 유형 )


위의 코드 줄에서:

    • 첫번째 ' lconsole.and() ” 메서드는 “Object” 생성자를 사용하여 “ 마이레코드 ”를 “객체.
    • 두 번째 'console.log()' 메소드는 ' 유형 ”키워드를 사용하여 “myRecord”의 유형을 확인합니다.

산출


출력은 변환된 'newRecord'를 ' 물체 ” 유형은 “newRecord”가 “개체”로 성공적으로 변환되었음을 확인합니다.

예 4: 개체를 레코드로 변환

사용자는 비교 목적으로 'Object'를 'Record'로 변환할 수도 있습니다. 기록() ' 방법. 실제로 해봅시다:

허락하다 myObj = { 하나: 1 , 둘: 2 }
허락하다 myRecord = 기록 ( myObj )
console.log ( 마이레코드 )


이제 위의 코드 스니펫은 ' 기록() ” 메서드는 주어진 “myObj” 개체를 “myRecord”로 변환합니다.

산출


출력에는 변환된 개체 'myObj'가 'myRecord' 콘텐츠로 성공적으로 표시됩니다.

예 5: 기존 레코드에서 새 레코드 만들기

첫 번째 예에서 설명한 것처럼 '레코드'는 변경할 수 없습니다. 즉, 키 값을 수정할 수 없습니다. 그러나 사용자는 일부 다른 값을 추가하여 기존 '레코드'에서 새 '레코드'를 만들 수 있습니다.

제공된 코드 스니펫에 따라 기존 레코드에서 새 레코드를 만듭니다.

허락하다 이전 레코드 = #{가: 1, 나: 2 };
허락하다 새 레코드 = #{ ...myRecord, C: 3, D:4}
console.log ( 새로운 기록 )


위의 JavaScript 코드에서:

    • 오래된 기록 ”는 두 개의 키 값이 있는 기존 레코드를 나타냅니다.
    • 다음으로 ' 새로운 기록 '는 기존 'oldRecord'의 도움을 받고 새로 지정된 키 값을 추가하여 생성된 새 레코드에 해당합니다.
    • 마지막으로 “ 콘솔. 통나무() ”는 새로 생성된 “newRecord”라는 레코드를 표시합니다.

산출


출력에는 새로 생성된 레코드의 모든 키 값이 표시됩니다.

예 6: 'Object.keys()' 메서드를 사용하여 레코드에 액세스

사용자는 내장 JavaScript '를 사용할 수 있습니다. 키() ' 의 방법 ' 물체 ” 레코드의 키에 액세스합니다. 이 시나리오에서는 'myRecord' 키에 액세스하는 데 사용됩니다.

허락하다 마이레코드 = #{가: 1, 나: 2 };
허락하다 레코드키 = Object.keys ( 마이레코드 ) ;
console.log ( 레코드 키 )


위의 코드 스니펫은 ' 객체.키() ” 메서드를 사용하여 “myRecord”에 있는 모든 키에 액세스합니다.

산출


출력에는 배열 형식의 'myRecord'의 모든 키와 키-값 쌍 형식의 해당 인덱스가 표시됩니다.

결론

자바스크립트 ' 기록 ”는 변경할 수 없는 고급 수준의 데이터 유형입니다. '객체'와 유사하게 작동하지만 주요 차이점은 값이 설정되면 변경하거나 업데이트할 수 있다는 것입니다. 선언을 위해 중괄호 앞에 '#(hash)' 기호가 있어야 하며 그렇지 않으면 객체로 작동합니다. 이 가이드에서는 JavaScript 레코드 데이터 유형에 대해 간략하게 설명했습니다.