๋ณ์
// ๋ณ์
var a = 10;
let b = 20;
const c = 30;
console.log(a, b, c);
- ๋ณ์ ์ข ๋ฅ์๋ var / let / const ๊ฐ ์๋ค.
let, var, const
// let ๊ณผ var
var a = 10;
if(true){
var a = 20;
console.log(a); // 20
}
console.log(a); // 20
let b = 10;
if(true){
let b = 20;
console.log(b); // 20
}
console.log(b); //10
- let
- ๋ณ์ ์ฌ์ ์ธ ๋ถ๊ฐ๋ฅ, ์ฌํ ๋น ๊ฐ๋ฅ
- ์ง์ญ์ฑ์ ๊ฐ์ง๊ธฐ ๋๋ฌธ์ ๋ณ์๊ฐ ์ ์ธ๋ ์ง์ญ ์ธ์์ ์ํ๋๋ ์ฐ์ฐ์ ์ค์ ๋ณ์ ๊ฐ์ ์ํฅ์ ๋ฏธ์น์ง ์๋๋ค.
- var
- ๋ณ์ ์ฌ์ ์ธ, ์ฌํ ๋น ๊ฐ๋ฅ
- ๋ณ์๊ฐ ์ ์ธ๋๋ ์ง์ญ์ ์๊ด์์ด ์ด๋์๋ ๋ถ๋ฌ์ฌ ์ ์๊ณ ๊ทธ ๊ฐ์ ์ํฅ์ ๋ฏธ์น๋ค.
- ES6์์ var์ ๋์ฒดํ ๋ณ์์ธ let, const ๊ฐ ๋์๋ค.
- const
- ๋ณ์ ์ฌ์ ์ธ, ์ฌํ ๋น ๋ถ๊ฐ๋ฅ
- ๋ณ์๋ฅผ ์ต์ด๋ก ์ ์ธํ๊ณ ๊ฐ์ ํ ๋นํ ๋ ๋จ ํ ๋ฒ ๋ณ์ ์ ์ธ ๋ฐ ํ ๋น ๊ฐ๋ฅ
ํ์
// ํ์
let c = true;
let d = [];
let e = {};
let f = function(){};
let g = undefined;
console.log(typeof(c)); // boolean
console.log(typeof(d)); // object
console.log(typeof(e)); // object
console.log(typeof(f)); // function
console.log(typeof(g)); // undefined
console.log(typeof(3.14)); // number
let tiger = {
a:10,
b:'ํธ๋์ด',
c:true,
d:[],
e:{},
f:function(){},
g:undefined
};
console.log(tiger, typeof(tiger)); // tiger{a: 10, ...} object
console.log(tiger.a, typeof(tiger.a)); // number 10
ํ์ ๋ณ๊ฒฝ
let a = 10;
console.log(typeof(a)); // number
a = 'ํธ๋์ด';
console.log(typeof(a)); // string
Date() ํจ์
// Date() ํจ์
let n = new Date();
console.log(n.getFullYear(), '๋
');
// 0์๋ถํฐ ์์
console.log(n.getMonth() + 1, '์');
console.log(n.getDate(), '์ผ');
// 0(์ผ) 1(์) 2(ํ)
console.log(n.getDay(), '์์ผ');
console.log(n.getHours(), '์');
console.log(n.getMinutes(), '๋ถ');
console.log(n.getSeconds(), '์ด');
console.log(typeof(n));
console.log(typeof(Date));
console.log(typeof n);
console.log(typeof Date);
- ์ค์๊ฐ ๋ ์ง, ์๊ฐ ์ ๋ณด ๊ฐ์ ธ์ฌ ์ ์๋ค.
๋ฒ์ธ) ์๋ฐ์ ๋์ผํ ๋ถ๋ถ
- ์ฐ์ ์ฐ์ฐ, ๋น๊ต์ฐ์ฐ, ๋ ผ๋ฆฌ์ฐ์ฐ
- ์ฆ๊ฐ์ฐ์ฐ, ๊ฐ์์ฐ์ฐ
- += ๋ณตํฉ๋์ ์ฐ์ฐ
- ์ ์ด๋ฌธ, ์ผํญ์ฐ์ฐ
- true, false
์๋ฐ์ ๋์ผํ์ง ์์ ๋ถ๋ถ
- ์น์ ๊ตฌํ๊ธฐ
console.log(2 ** 4);
console.log(Math.pow(2, 4));
== vs ===
console.log(100 == 100); // true
console.log(100 == '100'); // true
console.log(100 === '100'); // false
- == : ๊ฐ์ด ๊ฐ์์ง์ ์ฌ๋ถ
- === : ๊ฐ๊ณผ ํ์ ๋ชจ๋ ๊ฐ์์ง์ ์ฌ๋ถ
if๋ฌธ
let a = 10;
if(a > 3){
console.log('test');
}
a > 3 && console.log('test');
if(!false){
console.log('test3');
}
false || console.log('test4');
ํจ์(Function)
// 1. ๊ธฐ๋ณธ๊ผด
f1();
function f1(){
console.log('1');
}
f1();
// 2. ํจ์ ์์ฒด๋ฅผ ๋ณ์์ ๋ด๋๋ค
//f2();
let f2 = function(){
console.log('2');
}
f2();
// 3. ๋๋ค์
let f3 = () => {
console.log('3');
}
f3();
// 4. ์ฆ์ ์คํ ํจ์(IIFE)
(function(){
console.log('4')
})();
// 5.
(() => {
console.log('5')
})();
- ์๋ฐ์คํฌ๋ฆฝํธ๋ ๋๊ธฐ์ ์ด๋ค.
- ํธ์ด์คํ ์ด ๋ ์ดํ๋ถํฐ ์ฝ๋๊ฐ ์์๋๋ก ํ๋์ฉ ์คํ๋๋ค.
- ํจ์๋ฅผ ์ ์ธํ ๋ ๋ณ์์ ๋ด๋ ๋ฐฉ์์ผ๋ก ์ ์ธํ๋ฉด ํธ์ด์คํ ์ด ๋ถ๊ฐ๋ฅํ๋ค.
- ํจ์๋ฅผ ์ ์ธํ ๋ ๊ทธ ์์ฒด๋ง ์ ์ธํ๋ ๊ธฐ๋ณธ ๋ฐฉ์์ ๊ฒฝ์ฐ ํธ์ด์คํ ์ด ๊ฐ๋ฅํ๋ค.
ํธ์ด์คํ ์ด๋?
- var, function declaration ๋ค์ ์ ์ธ์ด ์๋์ ์ผ๋ก ์ฌ๋ผ๊ฐ๋ ๊ฒ
console.log('1');
setTimeOut(() => console.log('2'), 2000);
console.log('3');
์ฆ์ ์คํ ํจ์ ์์
// 1.
function f4(num){
console.log(num);
}
f4(100);
// 2.
(function f4(num){
console.log(num);
})(200);
// 3.
(function(num){
console.log(num);
let start = new Date().getTime();
while(new Date().getTime() < start + num);
})(2000);
console.log('test');
์์ฑ์ ํจ์
// ์์ฑ์ ํจ์ : ํด๋์ค์ ๋๊ฒฉ
function Fff555() {
this.num1 = 10;
this.num2 = 20;
this.m1 = function () {
console.log(this.num1);
}
this.m2 = () => {
console.log(this.num2);
}
}
// ๊ฐ์ฒด ์์ฑ
let ins = new Fff555();
ins.m1(); // 10
ins.m2(); // 20
new Fff555().m1(); // 10
ํจ์(Function) ์์
function t1() {
console.log('1');
}
function t2(n, s) {
console.log(n + s);
}
function t3() {
console.log('3');
return 888;
}
function t4(n) {
console.log('4');
return n * 2;
}
t1() // 1
t2(2, 'str') // 2str
console.log(t3()); // 3 // 888
console.log(t4()); // 4 // NaN
๊ฐ๋ณ ์ธ์ ์ ๋ฌ
function t5() {
console.log(typeof (arguments)); // object
console.log(arguments.length); // 3
let sum = 0;
for (const key of arguments) {
sum += key;
}
console.log(sum); // 60
}
t5(10, 20, 30);
- argument ๊ฐ์ฒด๋ t5 ํจ์์ ์ธ์์ ์ ๊ทผํ ์ ์๋ ์ง์ญ๋ณ์์ด๋ค.
'JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
addEventListener ์ด๋ฒคํธ (input & change) (0) | 2022.04.25 |
---|---|
[JavaScript] ์๋ฐ์คํฌ๋ฆฝํธ Prototype (0) | 2021.09.30 |
[JavaScript] ๋๋ฒ๊ฑฐ ์๋ฌ ํด๊ฒฐ (0) | 2021.09.30 |
[JavaScript] ์๋ฐ ์คํฌ๋ฆฝํธ ํจ์ (0) | 2021.09.30 |
[JavaScript] ์๋ฐ ์คํฌ๋ฆฝํธ ๊ธฐ๋ณธ ํจ์ (0) | 2021.09.29 |
๋๊ธ