이번 글은 Javascript에서 전달하는 참조타입에 대한 지식포인트를 위주로 소개하고 있으니 필요하신 분들은 참고하시면 됩니다. 함께 살펴보세요.
JS의 어떤 유형이 참조 유형인가요?
객체 클래스 유형은 모두 참조 유형입니다.( function, array, date, regexp..)
어떤 유형의 JS가 값으로 전달되나요?
기본 유형은 모두 값으로 전달됩니다. 값으로 재복사를 의미합니다.
값 유형 변수를 참조 유형으로 전달하는 방법은 무엇입니까?
래핑하여 참조 유형을 사용할 수 있습니다. 기본 유형 Pass.
ECMAScript는 Boolean, String, Number의 세 가지 특수 참조 유형(기본 패키징 유형)을 제공합니다.
참조 유형과 기본 패키징 유형의 차이점: Object수명이 다릅니다.
코드 참조:
var str = "hello js"; var str2 = str.substring(2,5); // str2的形成 在JS内部是这样实现的. var str = new String('hello js'); var str2 = str.substring(2,5); str = null ;
참조 유형의 메모리 할당
예: var o = {name: ‘kobe'};
스택: 힙에 있는 개체의 메모리 주소를 가리키는 포인터를 저장합니다. 포인터 핸들을 사용하여 힙에 있는 개체를 조작합니다.
==와 ===의 차이점을 이해하세요
“===” 엄격연산자
엄격 연산자의 연산 규칙:
1. 데이터 유형이 다름
두 값의 유형이 다른 경우 , 직접 false를 반환합니다.
2. 동일한 유형의 기본 데이터 유형(문자열, 부울, 숫자) 값이 같으면 true를 반환하고, 값이 다르면 false를 반환합니다.
두 개의 복합 유형(객체, 배열, 함수)의 데이터를 비교할 때 그 값이 같은지 비교하지 않습니다. , 그러나 동일한 개체를 가리키는지 여부를 비교합니다.
console.log( [1] === [1] ) // false4. 정의되지 않음 및 null
정의되지 않음 및 null은 그 자체와 동일합니다.
console.log( null === null ) // true console.log( undefined === undefined ) // true
"==" 항등 연산자
동등 연산자는 동일한 유형의 데이터를 비교할 때 완전 항등 연산자와 완전히 동일합니다.
유형 변환
을 수행한 후 엄격한 항등 연산자와 비교합니다. 유형 변환 규칙은 다음과 같습니다(다른 유형은 아래에서 논의됨):원본 유형 데이터는
숫자형
객체(여기서는 숫자값과 함수를 포함한 일반화된 객체를 말한다)를 원시형과 비교할 때 type 값이 있으면 객체를 기본 유형 값으로 변환한 후 비교합니다.
미정의와 null을 다른 종류의 값과 비교하면 결과는 false, 서로 비교하면 결과는 true
console.log( null == undefined ) // true4. 항등 연산자의 단점
항등 연산자의 숨겨진 유형 변환은 직관에 반하는 결과를 가져올 수 있습니다.
console.log( "" == "0" ) // false console.log( 0 == "" ) // true console.log( 0 == "0" ) // true console.log( false == "false" ) // false console.log( false == "0" ) // true다른 하나는 undefine과 관련된
조건부 판단
으로, undefine과 null의 조건부 판단이 코드에 영향을 미칠 수 있습니다.var a = undefined; if(!a){ console.log("1"); //1 } var a = undefined; if(a === null){ console.log("1"); //无输出 }요약
위 내용은 Javascript의 참조 유형 전송에 대한 지식 포인트에 대한 간략한 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!