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 중국어 웹사이트의 기타 관련 기사를 참조하세요!