sourcecode

변수 앞에 더하기 기호가 있는 목적은 무엇입니까?

copyscript 2022. 9. 22. 00:12
반응형

변수 앞에 더하기 기호가 있는 목적은 무엇입니까?

의 개요+d

function addMonths(d, n, keepTime) { 
    if (+d) {

심술궂은가요?

+연산자는 개체의 숫자 표현을 반환합니다.그래서 당신의 특별한 경우, 그것은 if를 전제로 하고 있는 것처럼 보일 것입니다.d0이 아닌 숫자입니다.

여기를 참조해 주세요.그리고 댓글에 지적된 것처럼 여기.

교환입니다.+는 값을 숫자로 변환하는 단항 연산자입니다.아래 표는 다른 값에 대해 이 연산자를 사용한 결과입니다.

+----------------------------+-----------+
| Value                      | + (Value) |
+----------------------------+-----------+
| 1                          | 1         |
| '-1'                       | -1        |
| '3.14'                     | 3.14      |
| '3'                        | 3         |
| '0xAA'                     | 170       |
| true                       | 1         |
| false                      | 0         |
| null                       | 0         |
| 'Infinity'                 | Infinity  |
| 'infinity'                 | NaN       |
| '10a'                      | NaN       |
| undefined                  | NaN       |
| ['Apple']                  | NaN       |
| function(val){ return val }| NaN       |
+----------------------------+-----------+

교환입니다.+메서드를 구현한 개체의 값을 반환합니다.valueOf.

let something = {
    valueOf: function () {
        return 25;
    }
};

console.log(+something);

숫자 식을 생성하는 단항 "+" 연산자입니다.와 같을 것이다.d*1,믿어요.

다른 답변에서 설명한 바와 같이 변수를 숫자로 변환합니다.특히 도움이 되는 것은d는 숫자로 평가되는 숫자 또는 문자열 중 하나입니다.

예( 를 사용)addMonths문제에서 기능):

addMonths(34,1,true);
addMonths("34",1,true);

그 다음에+d는 모든 경우에 숫자로 평가됩니다.따라서 타입을 체크하고 다른 코드 경로를 선택할 필요가 없습니다.d는 숫자로 변환할 수 있는 숫자, 함수 또는 문자열입니다.

언급URL : https://stackoverflow.com/questions/6682997/what-is-the-purpose-of-a-plus-symbol-before-a-variable

반응형