let birthYear = "2000"; let currentYear = 2019; if (currentYear - birthYear < 14) { alert("가입할 수 없습니다."); } console.log(2019+"2000"); console.log(2019-"2000"); //20192000 19 출력
컴퓨터가 +
의 양쪽을 보고, 하나라도 String이 있으면 문자열로 합쳐준다.
그런데 -
라면, String의 마이너스는 존재하지 않으므로 양쪽의 값을 모두 숫자로 변환해서 계산해준다.
📌아래와 같이 Number
함수를 사용해서 String형에서 Number형으로 전환할 수 있다.
let birthYearInput = "2000"; console.log(typeof birthYearInput); // string 출력 ⭐let numberBirthYear = Number(birthYearInput); console.log(typeof numberBirthYear); // number 출력
Number
함수 말고 parseInt
, parseFloat
등이 있습니다.
parseInt("1.901"); // 1.901 출력 parseFloat("1.901"); // 1.901 출력 Number("1.901"); // 1.901 출력 parseInt("200") + 1; // 201 출력
📌Number
형에서 String
형으로 변환하고 싶을 수도 있습니다. 어떻게 할까요?
let numberAsNumber = 1234; ⭐let numberAsString = numberAsNumber.toString(); console.log(numberAsNumber, typeof numberAsNumber); // 1234, number console.log(numberAsString, typeof numberAsString); // '1234', string
—
연산의 특성을 활용해서 String
형을 Number
형으로 변환할 수도 있습니다.
let numberAsNumber = "1234"; let numberAsString = numberAsNumber - 0; console.log(numberAsNumber, typeof numberAsNumber); //"1234",string console.log(numberAsString, typeof numberAsString); // 1234,number
nationalPensionRemainingYearCount 함수를 구현해주세요.
우리나라는 국민연금을 만 65세 부터 받을 수 있습니다.nationalPensionRemainingYearCount 는 age_string 이라는 input을 받습니다.
age_string 은 나이 값인데 string형 값으로 되어 있습니다.
주어진 나이부터 몇년이 지나야 국민연금을 받을수 있는지 리턴 해주세요.
리턴 값은 다음과 같습니다.
"앞으로 20년 남으셨습니다"
예를 들어, age_string 값이 다음과 같다면:
"35"
리턴 값은 다음과 같아야 합니다.
"앞으로 30년 남으셨습니다"
function nationalPensionRemainingYearCount(age_string) { let days = 65-(age_string); return "앞으로 "+days+ "년 남으셨습니다"; } console.log(nationalPensionRemainingYearCount(50)); // 앞으로 15년 남으셨습니다.