>  기사  >  웹 프론트엔드  >  js에서 비교 연산자를 과학적으로 사용하는 방법

js에서 비교 연산자를 과학적으로 사용하는 방법

php中世界最好的语言
php中世界最好的语言원래의
2018-03-12 16:37:381441검색

이번에는 js에서 비교연산자를 과학적으로 사용하는 방법과 js에서 비교연산자를 과학적으로 사용할 때 주의사항이 무엇인지 알려드리겠습니다.

비교 연산자

가장 일반적인 유형의 관계 연산자는 두 값의 상대적 순서를 결정하는 데 사용되는 비교 연산자입니다. 비교 연산자는 다음과 같습니다.

보다 작음(<) < 연산자는 첫 번째 피연산자가 두 번째 피연산자보다 작은 경우 true로 평가되고 false로 평가됩니다. 보다 큼(>)> 연산자는 true로 평가됩니다

첫 번째 피연산자가 두 번째 피연산자보다 크면 false로 평가됩니다. 작거나 같음(< =)) <= 연산자는 첫 번째 피연산자가 두 번째 피연산자보다 작거나 같으면 true

로 평가되고, 그렇지 않으면 false로 평가됩니다. 크거나 같음(=)) > = 연산자는 첫 번째 피연산자가 두 번째 피연산자보다 크거나 같으면 true

로 평가되고, 그렇지 않으면 false로 평가됩니다. 이러한 비교 연산자의 피연산자는 모든 유형이 될 수 있습니다. 그러나 비교는 숫자와 문자열에 대해서만 가능하므로 숫자나 문자열이 아닌 피연산자는 변환됩니다. 비교 및 변환은 다음과 같습니다.

두 피연산자가 모두 숫자이거나 두 숫자가 모두 숫자로 변환되면 숫자로 비교됩니다.

두 피연산자가 모두 문자열이거나 문자열로 변환되면 문자열로 비교됩니다.

하나의 피연산자는 또는 문자열로 변환되고 다른 하나는 숫자로 변환되거나 변환되는 경우 연산자는 문자열을 숫자로 변환하려고 시도하고 숫자 비교를 수행합니다. 문자열이 숫자를 나타내지 않으면

로 변환되어 비교가 거짓이 됩니다. (JavaScript 1.1에서는 문자열을 숫자로 변환하면 항복 대신 오류가 발생합니다.)

객체를 숫자나 문자열로 변환할 수 있는 경우 JavaScript는 숫자 변환을 수행합니다. 예를 들어, 이는 날짜 개체에 대해 숫자 비교를 수행하여 두 날짜가 다른 날짜보다 빠른지 비교하는 것을 의미합니다.

피연산자를 숫자나 문자열로 성공적으로 변환할 수 없는 경우 비교 연산자는 항상 false를 반환합니다. 두 피연산자가 모두 OR이면 비교 연산자로 변환하면 항상 false가 생성됩니다.

문자열 비교는 유니코드 인코딩의 각 문자의 숫자 값을 사용하여 엄격한 문자 단위로 수행된다는 점을 기억하세요. 유니코드 표준에서는 경우에 따라 다른 문자 시퀀스를 사용하여 동등한 문자열을 인코딩하는 것을 허용하지만 JavaScript 비교 연산자는 이러한 인코딩 차이를 감지하지 못합니다. 그들은 모든 문자열이 표준 형식으로 표현된다고 가정합니다. 특히 문자열 비교는 대소문자를 구분하며 유니코드 인코딩(적어도 ASCII 하위 집합의 경우)에서는 모든 대문자가 "소문자"보다 작습니다. 이 규칙은 예상하지 못한 경우 혼란스러운 결과를 초래할 수 있습니다. 예를 들어 문자열 "zoo"는 < 연산자에 따라 문자열 "aardvark"보다 작습니다. 보다 강력한 문자열 비교 알고리즘을 보려면 문자열에 대한 localecompare()를 참조하세요. 또한 방법은 알파벳 순서로 정렬된 지역별 정의를 고려합니다. 대소문자를 구분하지 않는 비교의 경우 먼저 모든 소문자 또는 대문자 문자열을 문자열로 묶어야 합니다. toLowerCase()

또는 String.toUpperCase(). < =(작거나 같음) 및 > =(크거나 같음) 연산자는 두 값이 같은지 여부를 확인하기 위해 같음 또는 식별 연산자에 의존하지 않습니다. 대신, 작거나 같음 연산자는 단순히 "보다 크지 않음"으로 정의되고 크거나 같음 연산자는 "보다 작지 않음"으로 정의됩니다. 이 경우 네 가지 비교 연산자는 모두 false를 반환합니다. 연산자는 왼쪽 피연산자가 문자열로 변환될 것으로 예상합니다. 오른쪽 피연산자는 객체(또는 배열)여야 합니다. 왼쪽 값이 객체의 속성 이름이면 true로 평가됩니다. 예:

VaR point = { x: 1, Y: 1 }; // 객체 정의var has_x_coord = "X" point; // truevar has_y_coord = "Y" point 평가 // truevar has_z_coord = "Z" point ; // false; 3D point가 아님var ts = "description" point; // 상속된 속성; true

instanceof 연산자

이것은 왼쪽 피연산자가 객체일 것으로 예상하는 연산자입니다. 클래스 객체의 이름입니다. 연산자는 true로 평가됩니다.

왼쪽 개체가 오른쪽 클래스의 인스턴스이면 계산 결과는 false입니다.

이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. PHP 중국어 웹사이트의 다른 관련 기사도 주목해주세요!

관련 읽기:

JS에서 일상적인 공통 기능 통합

Javascript로 의사 결정 트리를 만드는 방법

위 내용은 js에서 비교 연산자를 과학적으로 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.