1. ๋ณ์ variable
๐ฉ๐ป๐ ๋ณ์๋ ํ๋ก๊ทธ๋จ์ ์คํํ๋ ๋์ ๊ฐ์ด ์ฌ๋ฌ ๋ฒ ๋ฌ๋ผ์ง ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๋ฆฌํด
๐ฉ๐ป๐ ์์ constant ๋ ๊ฐ์ ํ ๋ฒ ์ง์ ํ๋ฉด ๋ฐ๋์ง ์๋ ๋ฐ์ดํฐ
1) ๋ณ์ ์ ์ธ ๊ท์น
โ ๋ณ์ ์ด๋ฆ์ ์์ด ๋ฌธ์์ ์ธ๋๋ฐ(_), ์ซ์๋ฅผ ์ฌ์ฉ - ๋์ด์ฐ๊ธฐ ํ์ฉ x, ์ซ์๋ ์ฒซ๋ฒ์งธ ๋ฌธ์ x
โก ์์ด ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ณํ๋ฉฐ ์์ฝ์ด๋ ๋ณ์ ์ด๋ฆ์ผ๋ก ์ธ ์ x
โข ์นด๋ฉ๋ฒ ํ๊ธฐ๋ฅผ ์ฌ์ฉ
โฃ ๋ณ์ ์ด๋ฆ์ ์๋ฏธ์๊ฒ ์์ฑ ( ์ด๋ฆ๋ง ๋ณด๊ณ ๋ ๋์ถฉ ์ด๋ค ๊ฐ์ธ์ง ์ถ์ธกํ ์ ์์ด์ผ ํจ )
<script>
var name = 10; // var : ๋ณ์ ์ ์ธ์ ์๋ฏธ
var str = 'javascript';
var temp = true;
// num, str, temp : ๋ณ์๋ฅผ ๊ตฌ๋ถํ๋ ์ด๋ฆ(๋ณ์๋ช
)
// 10, 'javascript', true : ๋ณ์์ ์ ์ฅ ๋๋ ๋ฐ์ดํฐ(๊ฐ)
document.write(num + '<br>' + str + '<br>' + temp + '<br><br>');
// ์ฌ๋ฌ ๊ฐ์ ๋ณ์๋ฅผ ์ ์ธํ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ์ ์ธํ ์ ์๋ค.
var num, str, temp;
num = 20;
str = 'ECMAscript'
temp = false;
document.write(`${num}<br> ${str}<br> ${temp}<br><br>`);
var num = 30, str = 'jquery', temp = true;
document.write(num + '<br>' + str + '<br>' + temp + '<br><br>');
// ๋ณ์๋ ์๋ก์ด ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ฉด ๊ธฐ์กด ๋ฐ์ดํฐ๋ ์ฌ๋ผ์ง๋ค.
var num = 0;
num = 10;
document.write(`${num} <br>`); // 10
num2 = 1
document.write(nm2);
</script>
2. ์๋ฃํ
๐ฉ๐ป๐ ์๋ฃ data๋ ํ๋ก๊ทธ๋๋ฐ์์ ํ๋ก๊ทธ๋จ์ด ์ฒ๋ฆฌํ ์ ์๋ ๋ชจ๋ ๊ฒ
๐ฉ๐ป๐ ์๋ฃํ data type์ด๋ ์ปดํจํฐ๊ฐ ์ฒ๋ฆฌํ ์ ์๋ ์๋ฃ์ ํํ
๐ฉ๐ป๐ ์๋ฐ์คํฌ๋ฆฝํธ ์๋ฃํ
- ๊ธฐ๋ณธ ์๋ฃํ : ์ซ์, ๋ฌธ์์ด, ๋ ผ๋ฆฌํ
- ๋ณตํฉ ์๋ฃํ : ๋ฐฐ์ด, ๊ฐ์ฒด
- ํน์ ์๋ฃํ : undefined, null
์ข ๋ฅ | ์ค๋ช | ์์ | |
๊ธฐ๋ณธ ์๋ฃํ | ์ซ์ํ | ๋ฐ์ดํ ์์ด ์ซ์๋ก๋ง ํ๊ธฐ | var birthYear = 1995; |
๋ฌธ์์ด | ๋ฐ์ดํ("" or '')๋ก ๋ฌถ์ด์ ํ๊ธฐ ์ซ์๋ฅผ ๋ฐ์ดํ๋ก ๋ฌถ์ผ๋ฉด ๋ฌธ์๋ก ์ธ์ |
var greeting = 'Hello'; var birthYear = '1995'; |
|
๋ ผ๋ฆฌํ | ์ฐธ๊ณผ ๊ฑฐ์ง์ด๋ผ๋ 2๊ฐ์ง ๊ฐ๋ง ์๋ ์ ํ true, false ์๋ฌธ์๋ก ํ์ |
var isEmpty = true; | |
๋ณตํฉ ์๋ฃํ | ๋ฐฐ์ด | ํ๋์ ๋ณ์์์ ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ ์ ์ฅ | var seasons = ['๋ด', '์ฌ๋ฆ', '๊ฐ์', '๊ฒจ์ธ'] |
๊ฐ์ฒด | ํจ์์ ์์ฑ์ ํจ๊ป ํฌํจ | var date = new Date(); | |
ํน์ ์๋ฃํ | undefined | ์๋ฃํ์ด ์ง์ ๋์ง ์์ ๊ฒฝ์ฐ ex. ๋ณ์ ์ ์ธ๋ง ํ๊ณ ๊ฐ์ ํ ๋นํ์ง ์์ ๋ณ์ |
|
null | ๊ฐ์ด ์ ํจํ์ง ์์ ๊ฒฝ์ฐ |
1) ๊ธฐ๋ณธ ์๋ฃํ : ๋ฌธ์์ด string
โ๏ธ ๋ฌธ์์ ๋ฌธ์์ด์ ๊ตฌ๋ถํ๋ ์ธ์ด๋ ์์ผ๋ ์๋ฐ ์คํฌ๋ฆฝํธ๋ ๋ฌธ์์ด๋ก ํต์ผ
โ๏ธ ๋ฌธ์์ด ์๋ฃํ์ ๋ง๋๋ ๋ฐฉ๋ฒ : ์์ ๋ฐ์ดํ๋ ํฐ ๋ฐ์ดํ๋ก ๊ฐ์
<script>
console.log("์๋
ํ์ธ์");
console.log('์๋
ํ์ธ์');
//console.log("์๋
ํ์ธ์'); // ๋ฐ์ดํ ์์๊ณผ ๋์ ๊ฐ์์ผ ํจ
// ํผ์ฉํ๋ ๊ฒ๋ ๊ฐ๋ฅ
console.log('this is "string"');
console.log("this is 'string'");
// ์ด์ค์ผ์ดํ ๋ฌธ์ ์ฌ์ฉ : ๋ฐ์ดํ๋ฅผ ๋ฌธ์ ๊ทธ๋๋ก ์ฌ์ฉํ๊ณ ์ถ์ ๋
console.log('this is \'string\'');
console.log("this is \"string\"");
/* ์ด์ค์ผ์ดํ ๋ฌธ์ ์ฌ์ฉ ์
\n : ์ค๋ฐ๊ฟ
\t : ํญ๋ฌธ์
\\ : ์ญ์ฌ๋์(\) ์์ฒด
*/
console.log("this is 'string' \nthis is 'string' ") // ์ค ๋ฐ๊ฟ
console.log("this is 'string' \tthis is 'string' ") // ํญ ๋ฌธ์
</script>
๐ก ๋ฌธ์์ด ์ฐ์ฐ
๋ฌธ์์ด์ ์ ์ฉํ ์ ์๋ ์ฒ๋ฆฌ
1. ๋ฌธ์์ด ์ฐ๊ฒฐ ์ฐ์ฐ : ๋ฌธ์์ด + ๋ฌธ์์ด
2. ๋ฌธ์ ์ ํ ์ฐ์ฐ : ๋ฌธ์์ด[์ธ๋ฑ์ค] -> ๋ฌธ์ ํ๋
3. ๋ฌธ์์ด ๊ธธ์ด : ๋ฌธ์์ด.length -> ๋ฌธ์ ๊ฐฏ์
<script>
console.log('์๋
ํ์ธ์.' + '์๋ฐ ์คํฌ๋ฆฝํธ ์
๋๋ค.'); // ์๋
ํ์ธ์.์๋ฐ ์คํฌ๋ฆฝํธ ์
๋๋ค.
let greet = '์๋
ํ์ธ์.';
console.log(greet + '์๋ฐ ์คํฌ๋ฆฝํธ ์
๋๋ค.'); // ์๋
ํ์ธ์.์๋ฐ ์คํฌ๋ฆฝํธ ์
๋๋ค.
// ๋ฌธ์ ์ ํ ์ฐ์ฐ. ์ธ๋ฑ์ค๋ 0๋ถํฐ ์์ํ๋ ์ ์๋ก ์ด๋ฃจ์ด์ง
console.log('์๋
ํ์ธ์.'[0]); // ์
console.log('์๋
ํ์ธ์.'[1]); // ๋
console.log(greet[0]); // ์
console.log(greet[1]); // ๋
// ๋ฌธ์์ด์ ๊ธธ์ด
console.log("์๋
ํ์ธ์.".length); // 6
console.log(greet.length); // 6
let name = prompt('์ด๋ฆ์ ์
๋ ฅ');
alert('์ด๋ฆ์ '+name.length+'์ ์
๋๋ค.')
let name2 = prompt('ํ๊ธ๋ก ์ด๋ฆ์ ์
๋ ฅ');
alert('๋น์ ์ ์ฑ์ '+ name2[0] +'์
๋๋ค.');
</script>
๐ก ํ ํ๋ฆฟ ๋ฌธ์์ด
๋ฌธ์์ด ๊ฒฐํฉ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ง ์๊ณ , ๋ฌธ์์ด ์์ ๋ฐ๋ก ํํ์์ ์ฌ์ฉํ ์ ์์
์๋ฐ์ดํ๋ ํ๋ฐ์ดํ ๋์ ๋ฐฑํฑ(`)์ ์ฌ์ฉ
<script>
// ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ : ๋ฏ์์ด ๊ฒฐํฉ ์ฐ์ฐ์ ์ฌ์ฉ
console.log('ํํ์์ 273 + 52์ ๊ฐ์ ' + (273 + 52) + '์
๋๋ค.');
// ํ
ํ๋ฆฟ ๋ฌธ์์ด ์ฌ์ฉ
console.log(`ํํ์์ 273 + 52์ ๊ฐ์ ${273 + 52}์
๋๋ค.`); // ๋ฐฑํฑ(`)์ ์ฌ์ฉ
let name = prompt('ํ๊ธ๋ก ์ด๋ฆ์ ์
๋ ฅ');
alert(`๋น์ ์ ์ฑ์ ${name[0]} ์
๋๋ค.`);
</script>
2) ๊ธฐ๋ณธ ์๋ฃํ : ์ซ์ํ number
โ๏ธ ์๋ฐ ์คํฌ๋ฆฝํธ๋ ์ ์์ ์ค์์ ๊ตฌ๋ถ์ด ์์
โ๏ธ ๋ฐ์ดํ ์์ด ์ฌ์ฉ, ์ซ์์ ๋ฐ์ดํ๋ฅผ ๋ถ์ด๋ฉด ๋ฌธ์์ด ์๋ฃํ์ด ๋จ
โ๏ธ ์ค์๋ฅผ 2์ง์๋ก ๋ณํํด์ ๊ณ์ฐํ๋๋ฐ, ์ด ๋ ์๋ฆฟ์๊ฐ ๋ง์ ์์๋ก ๋ณํ๋์ด ๊ณ์ฐ๋๊ธฐ ๋๋ฌธ์ ์ ํํ์ง x
<script>
console.log(100);
console.log(123.456);
// ์ซ์ ๊ด๋ จ ์ฐ์ฐ์ ์ฌ์ฉ
console.log(200 + 100); // 300
console.log(200 - 100); // 100
console.log(200 * 100); // 20000
console.log(200 / 100); // 2
// ํ๋ก๊ทธ๋๋ฐ์์๋ ๋๋จธ์ง ์ฐ์ฐ์ด ์์ฃผ ์ฌ์ฉ๋จ
console.log(200 % 100); // 0
console.log(200 % 99); // 2
// ์ค์ ์ฌ์ฉ์์ ์ ํํ ๊ณ์ฐ์ ํ๋ค๋ค
console.log(0.2 + 0.1); // 0.30000000000000004
console.log(200 + 100); // 300
console.log('200' + '100'); // 200100
</script>
3) ๊ธฐ๋ณธ ์๋ฃํ: ๋ ผ๋ฆฌํ boolean
โ๏ธ ์ฐธ(True)๊ณผ ๊ฑฐ์ง(False) ๋ ๊ฐ์ง ๊ฐ๋ง ๊ฐ์ง๋ ์๋ฃํ
๐ก ๋น๊ต ์ฐ์ฐ์
=== : ์์ชฝ์ด ๊ฐ๋ค.
!== : ์์ชฝ์ด ๋ค๋ฅด๋ค.
> : ์ผ์ชฝ์ด ๋ ํฌ๋ค.
< : ์ค๋ฅธ์ชฝ์ด ๋ ํฌ๋ค.
>= : ์ผ์ชฝ์ด ๋ ํฌ๊ฑฐ๋ ๊ฐ๋ค.
<= : ์ค๋ฅธ์ชฝ์ด ๋ ํฌ๊ฑฐ๋ ๊ฐ๋ค.
<script>
console.log(1 === 2); // false ์์ชฝ์ด ๊ฐ๋ค.
console.log(1 !== 2); // true ์์ชฝ์ด ๋ค๋ฅด๋ค.
console.log(1 > 2); // false ์ผ์ชฝ์ด ํฌ๋ค.
console.log(1 < 2); // true ์ค๋ฅธ์ชฝ์ด ํฌ๋ค.
console.log(1 >= 2); // false ์ผ์ชฝ์ด ํฌ๊ฑฐ๋ ๊ฐ๋ค.
console.log(1 <= 2); // true ์ค๋ฅธ์ชฝ์ด ํฌ๊ฑฐ๋ ๊ฐ๋ค.
// ๋ฌธ์์ด์๋ ๋น๊ต ์ฐ์ฐ์ ์ฌ์ฉ ๊ฐ๋ฅ. ๋ด๋ฆผ์ฐจ์ ๊ฐ์ด ํฌ๋ค.
console.log('๊ฐ์์ง' > '๋์น์ด'); // false
// ๋
ผ๋ฆฌ ๋ถ์ ์ฐ์ฐ์ (!)
// ๊ฐ์ ๋ฐ๋๋ก ๋ฐ๊ฟ
console.log(!true); // false
console.log(!false); // true
</script>
4) undefined์ null ์๋ฃํ
โ๏ธ undefined : ์์์ ๋ณ์๋ก ์ ์ธํ์ง ์๊ฑฐ๋ ๋ณ์๋ฅผ ์ ์ธํ๋ฉด์ ๊ฐ์ ์ง์ ํ์ง ์์ ๊ฒฝ์ฐ
โ๏ธ ์์๋ ์ ์ธํ ๋ ๋ฐ๋์ ๊ฐ์ ์ง์ ํด์ผ ํ๋ฏ๋ก ๊ฐ์ด ์๋ ์์๋ ์กด์ฌํ์ง ์์
โ๏ธ null : ' ๋ฐ์ดํฐ ๊ฐ์ด ์ ํจํ์ง ์์ ์ํ '
<script>
'use strict'; // ์๊ฒฉ ๋ชจ๋
console.log(typeof(a)); // undefined
let b;
console.log(typeof(b)); // undefined
c = 100;
console.log(typeof(c)); // number(์๊ฒฉ๋ชจ๋ ์ง์ ์ํ ์)
</script>
3. ์๋ฃํ ๊ฒ์ฌ typeof
๐ฉ๐ป๐ ์๋ฃํ ํ์ธํ ๋ 'typeof' ์ฌ์ฉ
<script>
let num = 10;
console.log(num);
num ='ํ์ด';
// typeof ์ฐ์ฐ์ ์ฌ์ฉ : typeof(์๋ฃ)
console.log(typeof('์๋
ํ์ธ์')); // string
console.log(typeof(100)); // number
console.log(typeof(true)); // boolean
// ๊ดํธ๊ฐ ์์ด๋ ๋จ : typeof๊ฐ ์ฐ์ฐ์๋ผ์ ๊ฐ๋ฅ
console.log(typeof '์๋
ํ์ธ์'); // string
console.log(typeof 100); // number
console.log(typeof true); // boolean
console.log(typeof "์๋
ํ์ธ์" === "string"); // true. "์๋
ํ์ธ์"์ ์๋ฃํ์ด string
console.log(typeof ("์๋
ํ์ธ์") === "string"); // true. "์๋
ํ์ธ์"์ ์๋ฃํ์ด string
console.log(typeof ("์๋
ํ์ธ์" === "string")); // boolean. "์๋
ํ์ธ์" === "string"์ ๊ฒฐ๊ณผ๊ฐ์ false
// ์๋ฐ ์คํฌ๋ฆฝํธ์์๋ ๋ณ์์ ํจ์๋ฅผ ํ ๋นํ๋ ๊ฒ์ด ๊ฐ๋ฅ.
// ์ฆ, ํจ์๋ ํ๋์ ์๋ฃํ์.
let fun = function() {
console.log('hello');
}
fun(); // hello
console.log(typeof fun); // function
</script>
4. ์๋ฃํ ๋ณํ
์ซ์ ์๋ฃํ์ผ๋ก ๋ณํํ ๋๋ Number() ํจ์๋ฅผ ์ฌ์ฉ
<script>
// prompt๋ก ์
๋ ฅ ๋ฐ์ผ๋ฉด ๊ธฐ๋ณธํ์ด ๋ฌธ์์ด
const rawInput = prompt("inch ๋จ์์ ์ซ์๋ฅผ ์
๋ ฅํด์ฃผ์ธ์."); // ์ซ์๋ฅผ ์
๋ ฅ.
console.log(typeof rawInput); // String
// ์
๋ ฅ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ซ์ํ์ผ๋ก ๋ณ๊ฒฝํ๊ณ cm ๋จ์๋ก ๋ณ๊ฒฝ.
const inch = Number(rawInput);
console.log(typeof inch); // Number
const cm = inch * 2.54;
// ์ถ๋ ฅ
alert(inch + 'inch๋ ' + cm + 'cm ์
๋๋ค.');
alert(`${inch}inchsms ${cm}cm ์
๋๋ค.`);
</script>
๋ฌธ์ ์๋ฃํ์ผ๋ก ๋ณํํ ๋ String() ํจ์ ์ฌ์ฉ
<script>
var number = 100;
console.log(typeof(number)); // number
number = String(number);
console.log(typeof(number)); // string
console.log(number); // 100
</script>
๋ถ ์๋ฃํ์ผ๋ก ๋ณํํ ๋ Boolean() ํจ์ ์ฌ์ฉ
<script>
// ์ซ์๋ฅผ ๋ถ๋ฆฐ์ผ๋ก ํ๋ณํ. 0์ false ๋๋จธ์ง๋ true
var number = 200;
console.log(typeof(number)); // number
console.log(number); // 200
number = Boolean(number);
console.log(typeof(number)); // boolean
console.log(number); // true
let num = 0;
console.log(typeof(num)); // number
console.log(num); // 0
num = Boolean(num);
console.log(typeof(num)); // boolean
console.log(num); // false. 0์ false๋ก ๋ณํ.
// ๋ฌธ์์ด์ ๋ถ๋ฆฐ์ผ๋ก ํ๋ณํ. ๋น ๋ฌธ์์ด์ false, ๋๋จธ์ง๋ true.
let string2 = 'hello';
console.log(typeof(string2)); // string
string2 = Boolean(string2);
console.log(typeof(string2)); // boolean
console.log(string2); // true
let string3 = '';
console.log(typeof(string3)); // string
string3 = Boolean(string3);
console.log(typeof(string3)); // boolean
console.log(string3); // false
</script>
[ ๋ด์ฉ ์ฐธ๊ณ : IT ํ์ ๊ฐ์ ๋ฐ ์ฑ 'Do it HTML+CSS+์๋ฐ์คํฌ๋ฆฝํธ ์น ํ์ค์ ์ ์' ]