>웹 프론트엔드 >JS 튜토리얼 >JavaScript의 일부 비주류 연산자 사용법 요약

JavaScript의 일부 비주류 연산자 사용법 요약

伊谢尔伦
伊谢尔伦원래의
2017-07-19 10:38:521457검색

Javascript는 기타 다양한 연산자를 지원합니다.

i.조건 연산자(?:)

조건 연산자는 JavaScript의 유일한 삼항 연산자입니다. 일반적으로 이 연산자는 "?:"로 작성됩니다. 이 연산자에는 세 개의 피연산자가 있습니다. 첫 번째 피연산자는 "?" 앞에 있고 두 번째 피연산자는 ":" 사이에 있습니다. 세 번째 피연산자는 ":" 이후입니다. 예를 들어

x > 0 ? x : -x; //x의 절대값 찾기
조건 연산자의 피연산자는 어떤 유형이든 가능합니다. 첫 번째 피연산자는 부울 값으로 처리됩니다. true인 경우 두 번째 피연산자가 평가되어 결과가 반환됩니다. 할당 첫 번째 값 피연산자가 false이면 세 번째 피연산자가 평가됩니다. 그리고 계산 결과를 반환합니다. 두 번째 및 세 번째 피연산자는 항상 그 중 하나로 평가됩니다. 두 가지를 동시에 하는 것은 불가능합니다. 실제로 if 문(5.4.1)을 사용하여 동일한 효과를 얻을 수 있습니다. "?:" 연산자는 약식 형식만 제공합니다. 다음은 변수 정의 여부를 결정하는 "?:"의 일반적인 사용 시나리오입니다. 정의되어 있으면 기본값이 사용됩니다.

 grett = "hello" + (username ? username : "three");

는 다음 코드와 동일하지만 위 코드가 더 간결합니다.

grett = "hello";
if (username)
   grett += username;
else
   grett + "three"

ii.typeof() 연산자

typeof는 단일 피연산자 앞에 배치되는 단항 연산자입니다. 피연산자는 모든 유형이 될 수 있습니다. 값은 작업 유형을 나타내는 문자열입니다.

   x             __ typeof x
            undefined     __ "undefined"
            null           __  "object"
            ture或false    __"boolean"
            任意数字或NaN     __ "Number"
            任意字符串                        __ "String"
            任意函数                            __ "function"
            任意内容对象(非函数)__ "object"
            任意宿主对象                    __ 由编译器各自实现的字符串,但不是"undefined" "boolean" "number" "string"

typeof의 가장 일반적인 사용법은 다음과 같은 표현식으로 작성됩니다.

(typeof value == "string") ? "" + value + "":value;
typeof 연산자는 swith 문에도 있습니다(5.4 .3 ) 매우 유용합니다. 연산 유형에는 괄호가 포함될 수 있습니다. 이렇게 하면 typeof가 키워드 대신 함수 이름처럼 보입니다.

typeof(i)

iii.delete 연산자

delete는 객체의 속성이나 배열 요소를 삭제하는 데 사용되는 단항 연산자입니다. 할당, 증가, 감소 연산자와 같습니다. 삭제에도 부작용이 있습니다. 삭제 작업에 사용됩니다. 값을 반환하는 데 사용되지 않습니다.

var o = {
                x: 1,
                y: 2
            }
            delete o.x;
            "x" in o; //=>false
            var a = [1, 2, 3];
            delete a[2]; // 删除数组中最后一个元素
            2 in a; //=> false 元素2已经在数组中不存在了
            a.length; //=>3,注意,数组长度并没有改变,尽管上一行删除了这个元素,但删除操作留下了一个洞。实际上并没有修改数组的长度,因此a的长度仍然为3

속성을 삭제하거나 배열 요소를 삭제하면 정의되지 않은 값이 설정될 뿐만 아니라 속성이 더 이상 존재하지 않는다는 점에 유의해야 합니다. 존재하지 않는 값을 읽으면 정의되지 않은 값이 반환됩니다. 삭제 삭제 및 엄격 모드의 일부 상황에 대해서는 학습이 필요한 사용자가 직접 실험해 볼 수 있습니다.

var o = {x: 1,y: 2};
            delete o.x; //删除一个对象属性,返回true
            typeof o.x; //属性不存在,返回"undefined"
            delete o.x; //删除不存在的属性,返回true;
            delete o; //不能删除通过var关键字声明的变量,返回false
            delete 1; //参数不是一个左值。
            this.x = 1;// 给全局定义一个属性,这里没有使用var
            delete x ; //试图删除它,在非严格模式下返回true
                       //在严格模式下回抛出异常,这时使用"delete this.x"来代替
             x;        //运行时出错,没有定义x

iii.void 연산자.

void는 단항 연산자입니다. 피연산자가 나타나기 전에 피연산자는 모든 유형이 될 수 있습니다. 이 연산자는 일반적으로 사용되지 않습니다. 피연산자는 평소와 같이 평가되지만 결과는 무시되고 정의되지 않은 값이 반환됩니다. void는 피연산자의 값을 무시하므로 피연산자에 부작용이 있는 경우 void로 프로그래밍하는 것이 더 합리적입니다.

가장 많이 사용되는 클라이언트 URL입니다. URL에 부작용이 있는 표현식을 작성하고 void를 사용하면 이 표현식의 연산 결과가 브라우저에 표시되지 않습니다.

<a href="javascript:void window.open();">new</a>

iiii. (,)

쉼표 연산자는 이항 연산자이며 피연산자는 모든 유형이 될 수 있습니다. 왼쪽 피연산자를 먼저 평가한 다음 오른쪽 피연산자를 평가합니다.

 i = 0, j = 1, k = 2;

기본적으로 다음 코드와 동일합니다

i = 0; j = 1; k = 2;
왼쪽의 표현식은 항상 평가되지만 계산 결과는 무시됩니다. side 부가 표현식에 부작용이 있는 경우 코드를 더 매끄럽게 만들기 위해 쉼표 연산을 사용합니다. 쉼표 연산자에 대해 가장 일반적으로 사용되는 시나리오는 일반적으로 여러 루프 변수가 있는 for 루프입니다.

아아아아

위 내용은 JavaScript의 일부 비주류 연산자 사용법 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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