๐ฅ JavaScript
- ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
- ๋ธ๋ผ์ฐ์ ๊ฐ ์์๋ค์ ์ ์๋ ์ธ์ด
- ๋์ ์ผ๋ก ์ฌ์ฉ์์ ์ํธ์์ฉํ ์ ์๋๋ก ํ๋ ์ธ์ด
- HTMLํ์ผ <head> ~ </head> ํ๊ทธ์์ <script> ~ </script> ํ์ค๋ก ๊ณต๊ฐ์ ๋ง๋ค์ด ์์ฑ
- ํฌ๋กฌ ๊ฐ๋ฐ์ ๋๊ตฌ ์ฝ์์ฐฝ(๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ํด๋ฆญ → ๊ฒ์ฌ → console/ ์๋์ฐ F12) ์ ์ด์ฉํ์ฌ ๋์ด๋์ ํ์ด์ง์ ๋น ๋ฅด๊ฒ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํ ์คํธํ ์ ์๋ค.
- console.log(๋ณ์) : ์ฝ์ ์ฐฝ์ ๊ดํธ ์์ ๊ฐ์ ์ถ๋ ฅํด์ค
- primitive type์ ๊ฐ์ ์ ์ธํ ๋ชจ๋ ๊ฒ๋ค์ด ๊ฐ์ฒด๋ก ์ด๋ฃจ์ด์ง ๊ฐ์ฒด ๊ธฐ๋ฐ ์คํฌ๋ฆฝํธ ์ธ์ด์ด๋ค.
๐ฅ Data types
์๋ฐ์คํฌ๋ฆฝํธ๋ ์ธํฐํ๋ฆฌํฐ๊ฐ ์์์ ๋ณ์์ ํ์ ์ ํ์ ํ๊ณ ๊ฐ์ ์ ์ฅํด์ ๋ณ์์ ํ์ ์ ๋ฐ๋ก ์ฐ์ง ์๋๋ค.
primitive values ์ object ๋ก ๋๋ ์ ์๋ค.
๐ ๋ณ์ ์ ์ธ
- var : ๋ณ์ ์ฌ์ ์ธ, ์ฌํ ๋น ๊ฐ๋ฅ
- let : ๋ณ์ ์ฌ์ ์ธ ๋ถ๊ฐ๋ฅ, ์ฌํ ๋น ๊ฐ๋ฅ
- const : ๋ณ์ ์ฌ์ ์ธ, ์ฌํ ๋น ๋ชจ๋ ๋ถ๊ฐ๋ฅ
- ๋ณ์ ์ ์ธ์๋ const๋ฅผ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉํ๊ณ , ์ฌํ ๋น์ด ํ์ํ ๊ฒฝ์ฐ์๋ง let์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
๐ Primitive values
Boolean : True, Flase
Null: null
Undefined: ์ ์๋์ง ์์ ๊ฐ
Number: ์ซ์ํ (์ ์, ๋ถ๋ ์์์ , ๋ฌดํ๋, NaN ํฌํจ)
String: ๋ฌธ์์ด
์ซ์ํ
- ๋ณ์ ์ ์ธ, ๋์
let num = 20 // ๋ณ์ ์ ์ธ
num = 14 // ๋์
๋ฌธ์์ด
- ๋ํ๊ธฐ, ์ธ๋ฑ์ฑ ๊ฐ๋ฅ
let first = 'Amy'
let last = 'Kim'
> first + last // 'AmyKim'
> first[0] // 'A'
๐ Object ์๋ฃํ
Array
Object (์๋ ๊ฐ์ฒด ์น์ ์ฐธ๊ณ )
๋ฐฐ์ด
- ์ธ๋ฑ์ฑ ๊ฐ๋ฅ
- push๋ก ๋ฐฐ์ด์ ๊ฐ ์ถ๊ฐ
- https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array
let name = ['Amy', 'Tom']
> name[0] // 'Amy'
> name.length // 2
name.push('David')
> name // ['Amy', 'Tom', 'David']
๊ฐ์ฒด (์๋ ๊ฐ์ฒด ์น์ ์ฐธ๊ณ )
๐ฅ ์ฐ์ฐ์
์ฐ์ ์ฐ์ฐ์(Arithmetic operators) | +, -, *, /, %, ** |
์ฆ๊ฐ, ๊ฐ์ ์ฐ์ฐ์ | ++. -- |
ํ ๋น ์ฐ์ฐ์(Assignment operator) | =, +=, *=, -=. /= |
๋น๊ต ์ฐ์ฐ์(Comparison operator) | ===(strict equality), !==(strict non-equality), <, >, <=, >= |
๋ ผ๋ฆฌ ์ฐ์ฐ์(logical operator) | &&(AND), ||(OR), !(NOT) |
==, != ์ ๊ฐ์ด ๋์ผํ์ง ์ฌ๋ถ๋ ํ ์คํธ ํ์ง๋ง, ๊ฐ์ ๋ฐ์ดํฐ ์ ํ์ด ๋์ผํ์ง ์ฌ๋ถ๋ ํ ์คํธ ํ์ง ์์
๋ฐ๋ฉด ===, !== ์ ๊ฐ๊ณผ ๋ฐ์ดํฐ ์ ํ ๋๋ค ํ ์คํธ ํ ์ ์์
๐ฅ ์กฐ๊ฑด๋ฌธ
๐ if ๋ฌธ
function is_adult(age){
if(age > 20){
alert('์ฑ์ธ์ด์์')
} else if (age > 10) {
alert('์ฒญ์๋
์ด์์')
} else {
alert('10์ด ์ดํ!')
}
}
is_adult(12)
๐ switch๋ฌธ
switch (expression) {
case choice1:
choice1์ธ ๊ฒฝ์ฐ ์คํํ ์ฝ๋
break;
case choice2:
choice2์ธ ๊ฒฝ์ฐ ์คํํ ์ฝ๋
break;
// ์ํ๋ ๋งํผ ๋ง์ case๋ฅผ ํฌํจํ์ญ์์ค
default:
๋ฌด์กฐ๊ฑด ์คํ๋๋ ์ฝ๋(actually, just run this code)
}
const select = document.querySelector('select');
const para = document.querySelector('p');
select.addEventListener('change', setWeather);
function setWeather() {
const choice = select.value;
switch (choice) {
case 'sunny':
para.textContent = 'sunny';
break;
case 'rainy':
para.textContent = 'rainy';
break;
case 'snowing':
para.textContent = 'snowing';
break;
case 'overcast':
para.textContent = 'overcast';
break;
default:
para.textContent = '';
}
}
๐ฅ ๋ฐ๋ณต๋ฌธ
- for, while, do...while์ด ์๋ค.
- continue์ break ์ฌ์ฉ๊ฐ๋ฅํ๋ค.
๐ for ๋ฌธ
- ๊ธฐ๋ณธ ๊ตฌ์กฐ
for (์ด๊ธฐํ์; ์ข
๋ฃ ์กฐ๊ฑด; ์ฆ๊ฐ์) {
// ์คํํ ์ฝ๋
}
for (let i = 0; i < 100; i++) {
console.log(i);
}
- ๋์ ๋๋ฆฌ๋ key๊ฐ์ ๋ฐฐ์ด์ index๊ฐ์ ๊ฐ์ ธ์ค๋ ๋ฐ๋ณต๋ฌธ
for (let key in ๊ฐ์ฒด) {
// ์คํํ ์ฝ๋
}
const dict = {'name':'Amy', 'age':25}
for (const key in dict){console.log(key)}
// name
// age
๐ While๋ฌธ
์ด๊ธฐํ์
while (์ข
๋ฃ ์กฐ๊ฑด) {
// ์คํํ ์ฝ๋
์ฆ๊ฐ์
}
๐ do ... While๋ฌธ
์ด๊ธฐํ์
do {
์คํํ ์ฝ๋
์ฆ๊ฐ์
} while (์ข
๋ฃ ์กฐ๊ฑด)
๐ฅ ํจ์
// ๋ง๋ค๊ธฐ
function ํจ์์ด๋ฆ(๋งค๊ฐ๋ณ์) {
๋ด๋ฆด ๋ช
๋ น๋ค์ ์์ฐจ์ ์ผ๋ก ์์ฑ
}
// ์ฌ์ฉํ๊ธฐ
ํจ์์ด๋ฆ(์ธ์);
// ๋ง๋ค๊ธฐ
function ํจ์์ด๋ฆ(๋งค๊ฐ๋ณ์) {
๋ด๋ฆด ๋ช
๋ น๋ค์ ์์ฐจ์ ์ผ๋ก ์์ฑ
return result
}
// ์ฌ์ฉํ๊ธฐ
result = ํจ์์ด๋ฆ(์ธ์);
๐ฅ ๊ฐ์ฒด (Object) ๊ธฐ๋ณธ
- https://developer.mozilla.org/ko/docs/Learn/JavaScript/Objects/Basics
- Property: ๊ฐ์ฒด ์์ ๋ณ์
- Method: ๊ฐ์ฒด ์์ ํจ์
๐ ๊ฐ์ฒด ์ด๊ธฐํ
- ๊ฐ์ฒด ์์ ๋ฉค๋ฒ๋ค์ (property, method) {} ๊ดํธ ์์์ ',' ๋ก ๊ตฌ๋ถ
- ๊ฐ์ฒด๋ฅผ ๊ตฌ์ฑํ๋ ๋ฉค๋ฒ์ ๊ฐ์ ์ด๋ค ๊ฒ์ด๋ผ๋ ๋ ์ ์์
- Property(์์ฑ)๋ key(์์ฑ๋ช )์ value(์์ฑ๊ฐ)๋ก ๊ตฌ์ฑ
var person = {};
const person = {
name: {
first: 'Bob',
last: 'Smith'
},
age: 32,
gender: 'male',
interests: ['music', 'skiing'],
bio: function() {
alert(this.name[0] + ' ' + this.name[1] + ' is ' + this.age + ' years old. He likes ' + this.interests[0] + ' and ' + this.interests[1] + '.');
},
greeting: function() {
alert('Hi! I\'m ' + this.name[0] + '.');
}
};
name, age, gender, intersts๋ property
bio, greeting์ method
๐ ์ ํ๊ธฐ๋ฒ
- dic.key ๋๋ dic.method๋ฅผ ์ด์ฉํด์(dic.๋ฉค๋ฒ๋ช ) ๊ฐ์ฒด์ property์ method์ ์ ๊ทผํ ์ ์๋ค.
- ์์ ๊ฐ์ฒด ์์์์
>> person.name // {first: 'Bob', last: 'Smith'}
>> person.name.first // 'Bob'
>> person.age // 32
>> person.interests[0] // 'music'
>> person.bio() // Hi! I'm Bob. ๋ด์ฉ์ ์ฐฝ์ด ๋ธ
๐ ๊ดํธ ํ๊ธฐ๋ฒ
- dic[key] ๋ฅผ ์ด์ฉํด์ property์ ์ ๊ทผํ ์ ์๋ค. (method๋ ์ ์ผ๋ก๋ง ์ ๊ทผํ ์์์)
person['age'] // 32
person['name']['first'] // 'Bob'
๐ ๊ฐ์ฒด ๋ฉค๋ฒ ์ค์
- ' . ' ๊ณผ ' [ ] ' ๋ฅผ ์ด์ฉํ์ฌ ๊ฐ์ฒด์ ์๋ก์ด ๋ฉค๋ฒ๋ฅผ ์์ฑํ๊ฑฐ๋ ๊ธฐ์กด ๋ฉค๋ฒ๋ฅผ ๊ฐฑ์ ํ ์ ์๋ค.
person.age = 45;
person['name']['last'] = 'Cratchit';
>> person.age // 45
>> person['name']['last'] // 'Cratchit'
person['height'] = 170
person.farewell = function() { alert("Bye everybody!"); }
>> person['height'] // 170
>> person.farewell() // Bye everybody! ๋ด์ฉ์ ์ฐฝ์ด ๋ฌ๋ค
const dataname = 'opinion'
const datavalue = 'yes'
person[dataname] = datavalue
>> person.opinion // 'yes'
๐ This
- ์ง๊ธ ๋์ํ๊ณ ์๋ ์ฝ๋๋ฅผ ๊ฐ์ง๊ณ ์๋ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํด
var person1 = {
name: 'Chris',
greeting: function() {
alert('Hi! I\'m ' + this.name + '.');
}
}
var person2 = {
name: 'Deepti',
greeting: function() {
alert('Hi! I\'m ' + this.name + '.');
}
}
>> person1.greeting() // Hi! I'm Chris. ๋ด์ฉ์ ์ฐฝ์ด ๋ฌ๋ค
>> person2.greeting() // Hi! I'm Deepti. ๋ด์ฉ์ ์ฐฝ์ด ๋ฌ๋ค
Source
- mdn web docs https://developer.mozilla.org/ko/docs/Web/JavaScript/
- ์ํ์ฝ๋ฉ WEB2 JavaScript https://opentutorials.org/module/3180
- ์คํ๋ฅดํ์ฝ๋ฉํด๋ฝ ๋ด์ผ๋ฐฐ์๋จ ์น๊ฐ๋ฐ ์ข ํฉ๋ฐ 1์ฃผ์ฐจ : https://spartacodingclub.kr/nb
- https://velog.io/@bungouk6829/Javascript-%EC%9D%98-%EC%9E%90%EB%A3%8C%ED%98%95
'Language > JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] [์คํ๋ฅดํ์ฝ๋ฉํด๋ฝ ์น] Ajax ๋ค๋ค๋ณด๊ธฐ (GET) (0) | 2022.07.08 |
---|---|
[JS] [์คํ๋ฅดํ์ฝ๋ฉํด๋ฝ ์น] JQuery ๋ค๋ค๋ณด๊ธฐ (0) | 2022.07.08 |