> 웹 프론트엔드 > JS 튜토리얼 > 'JavaScript 고급 프로그래밍' 읽기 노트(3) ECMAScript_Javascript 기술의 참조 유형

'JavaScript 고급 프로그래밍' 읽기 노트(3) ECMAScript_Javascript 기술의 참조 유형

WBOY
풀어 주다: 2016-05-16 17:55:59
원래의
970명이 탐색했습니다.

2.8 참조 유형

1. 객체 클래스
ECMAScript의 모든 클래스는 Object 클래스에서 상속됩니다.

Object 클래스에는 다음과 같은 속성이 있습니다.

생성자: 객체를 생성하는 함수에 대한 참조(포인터) Object 클래스의 경우 포인터는 원래 Object() 함수를 가리킵니다.

프로토타입: 객체의 프로토타입에 대한 참조입니다.

Object 클래스에는 다음과 같은 여러 메서드도 있습니다.

HasOwnProperty(property): 개체에 특정 속성이 있는지 확인합니다. 속성 값은 문자열

으로 지정해야 합니다. IsPrototypeOf(object): 개체가 다른 개체의 프로토타입인지 확인합니다.

PropertyIsEnumerable(property): for...in 문을 사용하여 주어진 속성을 열거할 수 있는지 여부를 결정합니다.

ToString(): 객체의 원래 문자열 표현을 반환합니다.

ValueOf(): 객체에 가장 잘 맞는 원래 값을 반환합니다. 많은 클래스의 경우 이 메서드에서 반환되는 값은 toString()의 반환 값과 동일합니다.

위에 나열된 각 속성과 메서드는 다른 클래스에 의해 재정의됩니다.

2. 부울 클래스
부울 객체는 다음과 같이 이해하기 어렵기 때문에 ECMAScript에서는 거의 사용되지 않습니다. >코드 복사

코드는 다음과 같습니다. var oFalseObject = new Boolean(false); var bResult= oFalseObject && //outpus true;
이 코드에서는 false 값으로 Boolean 객체를 생성한 후 이 값과 원래 값을 true로 AND 연산을 수행합니다. 부울 연산에서 false와 true 간의 AND 연산 결과는 false입니다. 그러나 이 코드 줄에서는 false 값이 아닌 oFalseObject가 평가됩니다. 부울 표현식에서는 모든 객체가 자동으로 true로 변환되므로 결과는 true입니다. 아래 코드를 참고하세요.



코드 복사
코드는 다음과 같습니다. var oFalseObject = new Boolean(false ); var bResult= oFalseObject && true; //outpus true var bResult2= oFalseObject.valueOf() && true; //outpus false
3. Number 클래스

Number의 toString() 메소드에 대해서는 이전 글에서 자세히 소개했습니다.

Number에는 숫자 값을 처리하는 몇 가지 특별한 방법이 있습니다.

toFixed(매개변수): 지정된 소수 자릿수를 사용하여 숫자의 문자열 표현을 반환합니다. 매개변수 범위는 0~20입니다.
toExponential(매개변수): 과학적 표기법으로 표현된 숫자의 문자열 형식을 반환합니다. toFixed() 메서드와 유사하게 toExponential()에도 출력할 소수 자릿수에 대한 매개 변수가 있습니다. 매개변수 범위는 0~20입니다.

toPrecision(매개변수): 가장 의미 있는 형식에 따라 숫자의 사전 결정된 형식 또는 지수 형식을 반환합니다. 여기에는 총 숫자 수(지수 제외)인 하나의 매개변수가 있습니다. 최소 매개변수는 1

위의 세 가지 방법으로 반올림 연산을 수행합니다. 샘플 코드:




코드 복사


코드는 다음과 같습니다. console.log(oNumber1.toExponential(0)); //outpus 1e 2가 반올림되었습니다.
console.log(oNumber1.toExponential(1)) //outpus 9.9e 1
console.log(oNumber1.toExponential(2)); //outpus 9.90e 1

var oNumber3=new Number(99)
console.log(oNumber3.toPrecision(0)) ; //출력 오류 정밀도 0이 범위를 벗어났습니다.
console.log(oNumber3.toPrecision(1)); //출력 1e 2가 반올림되었습니다.
console.log(oNumber3.toPrecision(2)); outpus 99
console.log(oNumber3.toPrecision(3)); //outpus 99.0



4. String 클래스

 valueOf() 메서드와 toString() 메서드는 String 유형의 원래 값을 반환합니다.


코드 복사

코드는 다음과 같습니다.
var oStringObject=new String("Hello world"); console.log(oStringObject.valueOf() == oStringObject.toString());//outpus true String 클래스 문자열의 문자 수를 나타내는 길이 속성이 있습니다. 더블바이트 문자도 한 문자로 계산됩니다.
String 클래스에는 많은 메소드가 있으며 주로 다음과 같이 소개됩니다.

charAt(정수 매개변수): 문자열에서 단일 문자를 반환합니다. 예:



코드 복사


코드는 다음과 같습니다.

var oStringObject=new String("Hello world");
console.log(oStringObject.charAt(0));//outpus "H"
console.log(oStringObject.charAt( 1));//outpus "e"
console.log(oStringObject.charAt(11));//outpus(빈 문자열)

 charCodeAt(정수 매개변수): 반환 문자열의 단일 문자에 대한 코드입니다. 예:
코드 복사 코드는 다음과 같습니다.

var oStringObject=new String(" Hello world" );
console.log(oStringObject.charCodeAt(0));//outpus "72"
console.log(oStringObject.charCodeAt(1));//outpus "101"
console.log (oStringObject.charCodeAt(11));//outpus NaN

 concat (string): 하나 이상의 문자열을 String 객체의 원래 값에 연결합니다. 예:
코드 복사 코드는 다음과 같습니다.

var oStringObject=new String(" Hello world" );
var sResult=oStringObject.concat(" Concat");
console.log(oStringObject);//outpus "String { 0="H", 1="e", 2= "l" , ...}"
console.log(sResult);//outpus "Hello world Concat"
alert(oStringObject);//outpus "Hello world"

 indexOf(string): 다른 문자열 내에서 지정된 문자열의 위치를 ​​반환합니다(문자열의 시작 부분에서 검색됨).

lastIndexOf(string): 다른 문자열에서 지정된 문자열의 위치를 ​​반환합니다(문자열의 끝에서 검색됨). 예:
코드 복사 코드는 다음과 같습니다.

var oStringObject=new String(" 안녕하세요 안녕하세요" );
console.log(oStringObject.indexOf("lo"));//outpus 3
console.log(oStringObject.lastIndexOf("lo"));//outpus 9

LocaleCompare(문자열): 문자열을 정렬합니다. 반환 값은 다음 세 가지 중 하나입니다.

A. 문자열 개체가 매개 변수의 문자열 앞에 알파벳순으로 정렬된 경우 음수는 다음과 같습니다. 반환됨 ( 일반적으로 -1이지만 실제 반환 값은 특정 구현에 따라 결정됩니다.)

B. String 개체가 매개 변수의 문자열과 같으면 0을 반환

C. 경우 String 객체는 알파벳순으로 정렬됩니다. 매개변수의 문자열 다음에 양수를 반환합니다(일반적으로 1이지만 실제 반환 값은 특정 구현에 따라 결정됩니다)

예:
코드 복사 코드는 다음과 같습니다.

var oStringObject=new String("Hello")
console. log(oStringObject.localeCompare("aello")); // 출력 1
console.log(oStringObject.localeCompare("Hello")) //출력 0
console.log(oStringObject.localeCompare("zello) ")); //outpus -1

 slice(정수 매개변수[,integer 매개변수]), substring(정수 매개변수[,integer 매개변수]): 하위 문자열에서 문자열 값을 생성합니다. 첫 번째 매개변수는 얻으려는 부분 문자열의 시작 위치이고, 두 번째 매개 변수는 얻으려는 부분 문자열의 끝 부분 앞의 위치입니다. 두 번째 매개 변수가 생략되면 종료 위치는 기본적으로 문자열 길이로 설정됩니다. 이들 메소드 중 어느 것도 String 객체 자체의 값을 변경하지 않습니다. 매개변수가 양수인 경우 두 메소드의 사용법과 반환값은 동일하며, 매개변수가 음수인 경우에만 다르다. 음수 매개변수의 경우, Slice() 메소드는 문자열 길이를 매개변수에 추가하고 substring()은 이를 0으로 처리합니다. 또한 두 개의 매개변수가 있는 경우 두 번째 매개변수가 첫 번째 매개변수보다 작고, Slice()가 반환한 값은 비어 있으며, substring()은 더 작은 매개변수를 첫 번째 매개변수로 사용합니다. 예:
코드 복사 코드는 다음과 같습니다.

var oStringObject=new String ("Hello World");
console.log(oStringObject.slice(3)); //outpus "lo World"
console.log(oStringObject.substring(3)) //outpus "lo World" "
console.log(oStringObject.slice(3,7)); //outpus "lo W"
console.log(oStringObject.substring(3,7)); //outpus "lo W"
console.log(oStringObject.slice(3,0)); //outpus(빈 문자열)
console.log(oStringObject.substring(3,0)); //outpus "Hel"

console .log(oStringObject.slice(-3)); //outpus "rld"
console.log(oStringObject.substring(-3)); //outpus "Hello World"
console. log(oStringObject.slice(3,-4)); //outpus "lo W"
console.log(oStringObject.substring(3,-4)) //outpus "Hel"

 toLowerCase(), toLocaleLowerCase(), toUpperCase(), toLocaleUpperCase(): 처음 두 개는 문자열을 모두 소문자로 변환하는 데 사용되고, 마지막 두 개는 문자열을 모두 대문자로 변환하는 데 사용됩니다. toLowerCase() 및 toUpperCase()는 독창적인 메소드인 반면, toLocaleLowerCase() 및 toLocaleUpperCase()는 특정 영역을 기반으로 구현됩니다. 예:
코드 복사 코드는 다음과 같습니다.

var oStringObject=new String(" Hello World" );
console.log(oStringObject.toLowerCase()); //outpus "hello world"
console.log(oStringObject.toLocaleLowerCase()); //outpus "hello world"
console.log(oStringObject.toUpperCase()); //outpus "HELLO WORLD"
console.log(oStringObject.toLocaleUpperCase()) //outpus "HELLO WORLD"

 
5.instanceof 연산자
참조 유형을 사용하여 값을 저장하기 위해 typeof 연산자를 사용하면 어떤 유형의 객체를 참조하든 "객체"를 반환하는 문제가 발생합니다. ECMAScript는 이 문제를 해결하기 위해 또 다른 연산자 인스턴스of를 도입했습니다.
instanceof 연산자는 typeof 연산자와 유사하며 처리 중인 객체의 유형을 식별하는 데 사용됩니다. typeof 메서드와 달리, instanceof 메서드에서는 개발자가 개체가 특정 형식인지 명시적으로 확인해야 합니다. 예:
코드 복사 코드는 다음과 같습니다.

var oStringObject=new String(" hello world" );
alert(oStringObject instanceof String); // "true"를 출력
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿