ECMAScript 일원 연산자

5351 단어 JavaScript 학습
일원 연산자는 조작할 대상이나 값의 매개 변수만 있습니다.ECMAScript에서 가장 간단한 연산자입니다.

delete


delete 연산자는 이전에 정의된 대상의 속성이나 방법에 대한 인용을 삭제합니다.예를 들면 다음과 같습니다.
var o = new Object;
o.name = "David";
alert(o.name);	//  "David"
delete o.name;
alert(o.name);	//  "undefined"

이 예에서name 속성을 삭제한 것은 인용을 강제로 해제하고 undefined (즉 초기화되지 않은 변수의 값) 로 설정하는 것을 의미합니다.
delete 연산자는 개발자가 정의하지 않은 속성과 방법을 삭제할 수 없습니다.예를 들어, 다음 코드에서 오류가 발생합니다.
delete o.toString;

토스트링이 유효한 방법명이라도 이 줄 코드는 오류를 일으킬 수 있다. 왜냐하면 토스트링 () 방법은 원시적인 ECMAScript 방법이지 개발자가 정의한 것이 아니기 때문이다.

void


void 연산자는 모든 값에undefined를 되돌려줍니다.이 연산자는 일반적으로 HTML로부터요소가 JavaScript 함수를 호출하는 경우이 점을 정확하게 하려면 함수가 유효한 값을 되돌려줄 수 없습니다. 그렇지 않으면 브라우저는 페이지를 비우고 함수의 결과만 표시합니다.예를 들면 다음과 같습니다.
Click me

이 코드를 HTML 페이지에 넣고 링크를 클릭하면 화면에 '[object]' 가 표시됩니다.
윈도우 때문이야.open () 방법은 새로 열린 창의 인용을 되돌려줍니다.그러면 객체가 표시할 문자열로 변환됩니다.
이런 효과를 피하려면void 연산자로 window를 호출할 수 있습니다.open() 함수:
Click me

이것은 window를 사용합니다.open () 호출은undefined로 되돌아옵니다. 이것은 유효한 값이 아닙니다. 브라우저 창에 나타나지 않습니다.
알림: 되돌아오는 값이 없는 함수는 정말undefined라는 것을 기억하십시오.

전면 증량/전면 감량 연산자


C(및 Java)에서 직접 대여하는 두 연산자는 전면 증분 및 전면 감량 연산자입니다.
이른바 전증량 연산자는 수치에 1을 더하는 것으로 변수 앞에 두 개의 더하기 기호(++)를 놓는 형식이다.
var iNum = 10;
++iNum;

두 번째 행 코드는 iNum을 11로 증가시켜 실질적으로 다음과 같습니다.
var iNum = 10;
iNum = iNum + 1;

마찬가지로 앞면 빼기 연산자는 변수 앞에 두 개의 빼기 기호(-)를 놓는 값에서 1을 뺀다.
var iNum = 10;
--iNum;

이 예에서 두 번째 줄 코드는 iNum의 값을 9로 줄였다.
접두사 연산자를 사용할 때, 증량과 감량 연산자는 모두 계산 표현식 앞에서 발생한다.다음 예를 고려하십시오.
var iNum = 10;
--iNum;
alert(iNum);	//  "9"
alert(--iNum);	//  "8"
alert(iNum);	//  "8"

두 번째 줄 코드는 iNum에 대해 감량 연산을 하고 세 번째 줄 코드는 ("9") 를 나타낸다.네 번째 줄 코드는 또 iNum에 대해 감량 연산을 했지만 이번 전의 감량 연산과 출력 조작은 같은 문장에 나타나'8'을 나타냈다.모든 감량 조작이 이루어졌다는 것을 증명하기 위해 다섯 번째 줄 코드는 다시 '8' 을 출력했다.
산술 표현식에서 전증량과 전감량 연산자의 우선순위는 같기 때문에 왼쪽에서 오른쪽까지의 순서에 따라 계산해야 한다.예를 들면 다음과 같습니다.
var iNum1 = 2;
var iNum2 = 20;
var iNum3 = --iNum1 + ++iNum2;	//  "22"
var iNum4 = iNum1 + iNum2;		//  "22"

앞에 있는 코드에서iNum3은 22입니다. 표현식이 1+21이기 때문입니다.변수 iNum4도 22이고 1+21이다.

포스트 증분/포스트 감량 연산자


C(및 Java)에서 직접 대여하는 두 개의 연산자, 즉 후증량 및 후감량 연산자도 있습니다.
백엔드 증분 연산자도 변수 뒤에 두 개의 더하기 기호(++)를 배치하는 형식으로 값에 1을 추가합니다.
var iNum = 10;
iNum++;

예상대로 후감량 연산자도 변수 뒤에 두 개의 마이너스(-)를 붙이는 형식으로 수치에서 1을 줄인다.
var iNum = 10;
iNum--;

두 번째 행 코드는 iNum의 값을 9로 줄입니다.
접두사 연산자와 달리 접두사 연산자는 그것들을 포함하는 표현식을 계산한 후에야 증량 또는 감량 연산을 한다.다음 예를 고려하십시오.
var iNum = 10;
iNum--;
alert(iNum);	//  "9"
alert(iNum--);	//  "9"
alert(iNum);	//  "8"

접두사 연산자의 예와 비슷하게 두 번째 줄 코드는 iNum에 대해 감량 연산을 하고 세 번째 줄 코드는 결과를 표시한다("9").네 번째 행 코드는 iNum 값을 계속 표시하지만 이번에는 같은 문에 감량 연산자를 적용합니다.감량 연산은 계산된 표현식 다음에 발생하기 때문에 이 문장의 표시 수는'9'이다.다섯 번째 행 코드를 실행한 후,alert 함수는 '8' 을 표시합니다. 네 번째 행 코드를 실행한 후, 다섯 번째 행 코드를 실행하기 전에, 후 감량 연산을 실행했기 때문입니다.
산술 표현식에서 후증량과 후감량 연산자의 우선순위는 같기 때문에 왼쪽에서 오른쪽까지의 순서에 따라 계산해야 한다.예를 들면 다음과 같습니다.
var iNum1 = 2;
var iNum2 = 20;
var iNum3 = iNum1-- + iNum2++;	//  "22"
var iNum4 = iNum1 + iNum2;		//  "22"

앞에 있는 코드에서iNum3은 22입니다. 표현식이 2+20이기 때문입니다.변수iNum4도 22와 같지만 1+21을 계산한다. 증량과 감량 연산은 모두 iNum3에 값을 부여한 후에야 발생하기 때문이다.

일원 가법과 일원 감법


대부분의 사람들은 일원 덧셈과 일원 뺄셈에 익숙하다. ECMAScript에서 사용하는 방법은 고등학교 수학에서 배운 것과 같다.
일원 가법은 본질적으로 숫자에 아무런 영향을 미치지 않는다.
var iNum = 20;
iNum = +iNum;
alert(iNum);	//  "20"

이 코드는 숫자 20에 일원 덧셈을 적용하였는데, 되돌아오는 것은 여전히 20이다.
비록 일원 가법은 숫자에 아무런 작용이 없지만 문자열에 흥미로운 효과가 있어 문자열을 숫자로 변환할 수 있다.
var sNum = "20";
alert(typeof sNum);	//  "string"
var iNum = +sNum;
alert(typeof iNum);	//  "number"

이 코드는 문자열 '20' 을 진정한 숫자로 변환합니다.일원 가산 연산자가 문자열을 조작할 때, 문자열을 계산하는 방식은parseInt () 와 비슷하다. 주로 '0x' 로 시작하는 문자열 (16진수 표시) 만 일원 연산자가 그것을 10진수로 변환할 수 있다.따라서 일원 가법으로'010'을 변환하면 얻은 것은 항상 10이고'0xB'는 11로 변환된다.
다른 한편, 일원감법은 수치에 대해 마이너스를 구하는 것이다(예를 들어 20을 -20으로 바꾸는 것).
var iNum = 20;
iNum = -iNum;
alert(iNum);	//  "-20"

일원 덧셈 연산자와 비슷하면 일원 감법 연산자도 문자열을 비슷한 숫자로 변환할 뿐만 아니라 이 값에 대해서도 마이너스를 구할 수 있다.예를 들면 다음과 같습니다.
var sNum = "20";
alert(typeof sNum);	//  "string"
var iNum = -sNum;
alert(iNum);		//  "-20"
alert(typeof iNum);	//  "number"

위의 코드에서 일원 감법 연산자는 문자열 '-20' 을 -20으로 변환한다. (일원 감법 연산자는 16진법과 10진법에 대한 처리 방식이 일원 가법 연산자와 비슷하지만, 이 값에 대해 마이너스를 구할 뿐이다.)

좋은 웹페이지 즐겨찾기