๐ฑโ๐คString <-> Number ๋ณํ
์๋ฐ์คํฌ๋ฆฝํธ ์ธ์ด์ ํน์ง ์ค ํ๋๊ฐ ๋ฐ์ดํฐ ํ์ ์ ์ ๊ฒฝ์ฐ์ง ์๋๋ค๋ ๊ฒ์ ๋๋ค.
๋ค์ ์ฝ๋๋ฅผ ๋ณด๋ฉด ์ค๋ฅ์์ด ๋ชจ๋ ์ ์์ผ๋ก ๋์ต๋๋ค.let a = 10; // Number a = "๋๋ String์ธ๋ฐ.."; // String console.log(a); //๊ฒฐ๊ณผ: ๋๋ String์ธ๋ฐ..
๋ค๋ฅธ ์ธ์ด์์๋ ๋ณ์์ ์ด๋ค ๊ฐ์ ํ ๋นํด์ ๋ณ์์ type์ด ํ์ ๋๋ฉด, ๊ทธ ํ์ ๋ค๋ฅธ type์ ๊ฐ์ ํ ๋นํ ์๊ฐ ์์ต๋๋ค.
let a = '5'; // String a = 5; // Number console.log(a) //5
let a = '900'; let b = 350; let c = Math.random(); let d = '5' + 5; a //"900" b //350 c //0.19758219165286195 d //"55"
console.log('200'+'10'); //20010 console.log('200'-'10'); //190 console.log(200+'11'); //20011 console.log('200'+11); //20011 console.log('200'-'์๋ '); //NaN
NaN์ Not a number ๋ผ๋ ๋ป์ ๋๋ค.
์ ์๊ฐ์ ๋ฐฐ์ ๋ "+"์ ํน์ง์ ํ ๋ฒ ๋ณด๊ฒ ์ต๋๋ค.
alert("๊น์๋ฆฌ" + "๋ ์๋ ํ์ธ์."); let place = "์์ฝ๋"; alert(place + "์ ์ค์ ๊ฒ์ ํ์ํฉ๋๋ค");
์ซ์๋ผ๋ฆฌ์ ๋ํ๊ธฐ๋ ๋ฌผ๋ก ์ด๊ณ ,
String๋ผ๋ฆฌ ๋ฌธ์๋ฅผ ์ฐ๊ฒฐํ ์๊ฐ ์์์ต๋๋ค.console.log("200"-"์๋ ");
ํ์ง๋ง ๋บ์ ์ ๊ฒฝ์ฐ, ์ค๋ก์ง ์ซ์์๋ง ์ฌ์ฉ๋๋ ์ฐ์ฐ์ด์ฃ .
"์๋ ํ์ธ์" - "์๋ " = ??
String์ ๊ฒฝ์ฐ,
์ ์ง ๊ฐ์ "์๋ "์ ๋นผ๋๊น "ํ์ธ์"๋ง ๋จ์ผ๋ฉด ์ข๊ฒ ์ง๋ง
์ ์ธ๊ณ ๊ณตํต์ ์ผ๋ก ์ฝ์๋ ์ฐ์ฐ์ด ์๋๊ธฐ ๋๋ฌธ์ ์กด์ฌํ์ง ์๋ ์ฐ์ฐ์ ๋๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ NaN ์ด๋ผ๋ ๊ฒฐ๊ณผ๊ฐ ๋ฐํ๋ฉ๋๋ค.14์ธ ๋ฏธ๋ง์ ์ฌ๋์ด ๊ฐ์ ํ๋์ง ํ์ธํ๋ ค๋ฉด ์๋์ ์ฝ๋๊ฐ ํ์ํฉ๋๋ค.
let birthYear = "2000"; let currentYear = 2019; if (currentYear - birthYear < 14) { alert("๊ฐ์ ํ ์ ์์ต๋๋ค."); } console.log(2019+"2000"); //20192000 console.log(2019-"2000"); //19
์ปดํจํฐ๊ฐ +์ ์์ชฝ์ ๋ณด๊ณ , ํ๋๋ผ๋ String์ด ์์ผ๋ฉด
๋ฌธ์์ด๋ก์ ํฉ์ณ์ค๋๋ค.
๊ทธ๋ฐ๋ฐ -๋ผ๋ฉด, String์ ๋ง์ด๋์ค๋ ์กด์ฌ ํ์ง ์์ผ๋ฏ๋ก
์์ชฝ์ ๊ฐ์ ๋ชจ๋ ์ซ์๋ก ๋ณํํด์ ๊ณ์ฐํด์ค๋๋ค.
๋ฌผ๋ก ์์ ์ฝ๋๊ฐ ์ ๋์๋๊ธด ํ์ง๋ง,
ํจ๊ป ์ฝ๋๋ฅผ ๋ณด๋ ๋๋ฃ๊ฐ ์ถฉ๋ถํ ์คํดํ ์ ์๋ ์ฝ๋์ ๋๋ค.๊ณ์ฐ์ด ์ ๋๋๋ผ๋ ํ ์คํธ๋ก ํํ๋ ์ซ์๋,
๊ผญ ์ซ์๋ก ๋ฐ๊ฟ์ ๊ณ์ฐ์ ํด์ฃผ์ ์ผ ํฉ๋๋ค.
๋ค์๊ณผ ๊ฐ์ด Number ํจ์๋ฅผ ์ฌ์ฉํด์ String์์ Numberํ์ผ๋ก ์ ํํ ์ ์์ต๋๋ค.var birthYearInput = "2000"; console.log(typeof birthYearInput); //string var numberBirthYear = Number(birthYearInput); console.log(typeof numberBirthYear); //number
Numberํจ์ ๋ง๊ณ
parseInt
,parseFloat
๋ฑ์ด ์์ต๋๋ค.parseInt("1.901"); //1 parseFloat("1.901"); //1.901 Number("1.901"); //1.901 parseInt("200") + 1; //201
Numberํ์์ Stringํ์ผ๋ก ๋ณํํ๊ณ ์ถ์ ์๋ ์์ต๋๋ค.
var numberAsNumber = 1234; var numberAsString = numberAsNumber.toString(); console.log(numberAsNumber, typeof numberAsNumber); // 1234 "number" console.log(numberAsString, typeof numberAsString); // 1234 string
- ์ฐ์ฐ์ ํน์ฑ์ ํ์ฉํ์ฌ ์๋์ ๊ฐ์ด๋ ๋ณํํ ์ ์์ต๋๋ค.
var numberAsNumber = 1234; var numberAsString = 1234 + ""; console.log(numberAsNumber, typeof numberAsNumber); // 1234 "number" console.log(numberAsString, typeof numberAsString); // 1234 string
๐Assignment
์ฐ๋ฆฌ๋๋ผ๋ ๊ตญ๋ฏผ์ฐ๊ธ์ ๋ง 65์ธ ๋ถํฐ ๋ฐ์ ์ ์์ต๋๋ค.
nationalPensionRemainingYearCount ํจ์๋ฅผ ๊ตฌํํด์ฃผ์ธ์.
- nationalPensionRemainingYearCount ๋ age_string ์ด๋ผ๋ input์ ๋ฐ์ต๋๋ค.
- age_string์ ๋์ด ๊ฐ์ธ๋ฐ stringํ ๊ฐ์ผ๋ก ๋์ด ์์ต๋๋ค.
- ์ฃผ์ด์ง ๋์ด๋ถํฐ ๋ช๋ ์ด ์ง๋์ผ ๊ตญ๋ฏผ์ฐ๊ธ์ ๋ฐ์์ ์๋์ง ๋ฆฌํดํด์ฃผ์ธ์.
- ๋ฆฌํด ๊ฐ์ผ๋ก๋ ๋ค์ ๋ฌธ์ฅ ์ฒ๋ผ ๋ฆฌํดํด์ผ ํฉ๋๋ค.
"์์ผ๋ก 20๋ ๋จ์ผ์ จ์ต๋๋ค"
์๋ฅผ ๋ค์ด, age_string ๊ฐ์ด ๋ค์๊ณผ ๊ฐ๋ค๋ฉด:
"35"
๋ฆฌํด ๊ฐ์ ๋ค์๊ณผ ๊ฐ์์ผ ํฉ๋๋ค.
"์์ผ๋ก 30๋ ๋จ์ผ์ จ์ต๋๋ค"
๋ต๋ณ:
function nationalPensionRemainingYearCount(age_string) { let numberAge = Number(age_string); let years = 65 - numberAge; return "์์ผ๋ก "+years+"๋ ๋จ์ผ์ จ์ต๋๋ค"; }
์์์ ๋ฐฐ์ด Number ํจ์๋ฅผ ์ฌ์ฉํ์ฌ string์ด์๋ age_string ์ ์ซ์๋ก ๋ฐ๊ฟ์ค๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ณ์๋ฅผ ํ๋ ๋ ์ถ๊ฐํ์ฌ, ๋จ์ ๋ ์๋ฅผ ์๋ ค์ค ๋ณ์๋ฅผ ์ง์ ํฉ๋๋ค.