์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ์๊ณ ๋ฆฌ์ฆ
- ๋ฐ๋ธ์ฝ์ค
- fetch API
- position
- ๋ฐ๋ธ์ฝ์ค3๊ธฐ
- ๋ธ๋ก๊ทธ
- Flex
- CSS
- REACT
- ์๋ฐ์คํฌ๋ฆฝํธ
- ํ๋ก ํธ์๋
- Props
- useRef
- history api
- ํ๋ก๊ทธ๋๋จธ์ค
- ์ฝ๋ฉํ ์คํธ
- Gatsby
- float
- useEffect
- Today
- Total
Daehyunii's Dev-blog
3-06 Template Literals ~ 3-13 ํด๋์ค ๋ณธ๋ฌธ
3-06 Template Literals ~ 3-13 ํด๋์ค
Daehyunii 2022. 6. 17. 16:163-06 Template Literals
//์ผ๋ฐ์ ์ธ ํจ์ ์ ์ธ ๋ฐฉ์
function hello(name) {
console.log("hello " + name + ". welcome!");
}
//Ecma6 ๋ฒ์ ๋ถํฐ ์ถ๊ฐ ๋ ๊ธฐ๋ฅ์
function hello2(name) {
console.log("Hello ${name}. Welcome!");
}
hello2("John")
//Hello John. Welcome!์ผ๋ก ์ถ๋ ฅํ๊ฒ ๋จ
๋ฌธ์์ด์ ๋ฐ๋ก ์ด์ด์ฃผ๋ ์ญํ ์ ํ๋ฉด์, ๋ณต์กํ ์ฝ๋๋ฅผ ๋ ๊ฐ๋จํ๊ฒ ๋ง๋ค ์ ์๋ค๋ ์ฅ์ ์ด ์์
3-07 Object Literal Syntax Extension
//์ผ๋ฐ์ ์ธ ์ค๋ธ์ ํธ ์ ์ธ์ ํ์ฉํ ์ฝ๋(ํค๊ฐ์ ๋ณ๊ฒฝ์ด ์๋จ)
var firstName = "hyun";
var lastName = "woo";
var person = {
firstName : firstName,
lastName : lastName
};
var type = "student";
var test = {
[type] : "hyuniii",
score : 95
};
console.log(test)
//student : hyuniii, score : 95 ๋ก ์ค๋ธ์ ํธ๋ฅผ ๋ฐํํจ
์ผ๋ฐ์ ์ธ ์ค๋ธ์ ํธ ์ ์ธ์ ๋ฐธ๋ฅ ๊ฐ์ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ์ง๋ง, ํค ๊ฐ์ ๋ณ๊ฒฝ์ด ๋ถ๊ฐ๋ฅ ํจ
ํ์ง๋ง, Object Literal Syntax Extension์ ์ค๋ธ์ ํธ๋ฅผ ์ ์ธํ๋ ์์ ์ ํค ๋ฐธ๋ฅ ๊ฐ์ ๋ฃ์๋ ๋๊ดํธ๋ฅผ ์ด์ฉํ์ฌ ๋์ ์ผ๋ก ํค๊ฐ์ ๋ฃ๋ ๋ฐฉ๋ฒ์
3-08 Spread Operator
var arr1 = [4, 5, 6];
var arr2 = [1, 2, 3,...arr1];
console.log(arr2);
//[1,2,3,4,5,6] Array๋ฅผ ๋ฐํํจ
//ํ์ฉ๋ฐฉ๋ฒ
var arr1 = [4, 5, 6];
var arr2 = [1,...arr1, 2, 3];
console.log(arr2);
//[1,4,5,6,1,2,3] Array๋ฅผ ๋ฐํํจ
//ํ์ฉ๋ฐฉ๋ฒ
var cd = "CD"
var alphabet = ["A","B",...cd];
console.log(alphabet);
//[A,B,C,D] Array๋ฅผ ๋ฐํํจ
Ecma6 ๋ฒ์ ๋ถํฐ ์ถ๊ฐ ๋ ๊ธฐ๋ฅ์(๊ฐ ํ๋ํ๋๋ฅผ ๋ถํดํด์ ๋ฃ์ด ์ค)
'...'์ ์ด์ฉํด์ ํ์ฉํจ
์ํ๋ ์์น์ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ spread์์ผ ๋ฃ์ด์ค( cf)concat()๋ ๋ฐ๋ก ๋ค๋ก ๋ฐฐ์ด์ ์ด์ด์ค )
๋ฐฐ์ด์์ spread๋ ์ฌ๋ฌ ๊ฐ๋ฅผ ์ฌ์ฉํด๋ ์๊ด์์
๋ฌธ์์ด์ ๊ฒฝ์ฐ์๋ ๋ฌธ์์ด ๊ธ์ ํ๋ ํ๋๋ฅผ spreadํด์ ๊ฐ์ ธ์ด
3-09 Object Destructuring
//์ผ๋ฐ์ ์ธ ํจ์๋ฅผ ํตํ ์ค๋ธ์ ํธ ์ ์ธ
function getPerson() {
return {
firstName : "Jhon",
lastName : "Doe",
age : 30,
email : "john@gmail.com",
city : "Seoul",
country : "Korea"
};
}
//์ผ๋ฐ์ ์ธ ํจ์ ๋ด ์ค๋ธ์ ํธ ํ์ฉ ๋ฐฉ๋ฒ
var person = getPerson();
console.log(person);
console.log(person.firstName);
//Object Destructuring์ ์ฌ์ฉํ์ฌ ํจ์ ๋ด ์ค๋ธ์ ํธ๋ฅผ ํ์ฉํ๋ ๋ฐฉ๋ฒ
var {firstName, lastName} = getPerson();
console.log(firstName);
Ecma6 ๋ฒ์ ๋ถํฐ ์ถ๊ฐ ๋ ๊ธฐ๋ฅ์
์ค๋ธ์ ํธ ๋ด์ ํ์ํ ๋ฐ์ดํฐ๋ง ๊ฐ์ ธ ์ฌ ์ ์์
์ค๋ธ์ ํธ ์ ์ธ์ ์ค๊ดํธ๋ฅผ ์ด์ฉํ๋ ์ค๋ธ์ ํธ ๋์คํธ๋ญ์ณ๋ ์ค๊ดํธ๋ฅผ ์ด์ฉํจ
3-10 Array Destructuring
//์ผ๋ฐ์ ์ธ ํจ์ ๋ด ๋ฐฐ์ด ์ ์ธ
function getScores() {
return [70, 80, 90];
}
//์ผ๋ฐ์ ์ธ ํจ์ ๋ด ๋ฐฐ์ด ํ์ฉ ๋ฐฉ๋ฒ
var scores = getScores();
console.log(scores);
console.log(scores[0]);
//Array Destructuring์ ์ด์ฉํ ํจ์ ๋ด ๋ฐฐ์ด ํ์ฉ ๋ฐฉ๋ฒ
var [x, y] = getScores();
console.log(x);
console.log(y);
//'70'์ ๋ฐํํจ
//'80'์ ๋ฐํํจ
Object Destructuring์ ๊ฐ์ ์๋ฆฌ์
์ค๋ธ์ ํธ์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฐฐ์ด ๋ด์ ํ์ํ ๋ฐ์ดํฐ๋ง ๊ฐ์ ธ ์ฌ ์ ์์
3-11 Promise
var x = 1;
y = callServerDate(); //y๋ ์๋ฒ ํธ์ถํด์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๋ ํจ์๋ก ๊ฐ์
var z = x + y;
console.log(z);
์์ ์ํฉ์ด๋ผ๊ณ ๊ฐ์ ํ๋ค๋ฉด, ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๋ ์ค์ z๊ฐ ๋จผ์ ์คํ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํด, Error๊ฐ ๋ฐ์ ํ ์ ์์
์ด๋ฐ ๊ฒฝ์ฐ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด Ecma6๋ฒ์ ๋ถํฐ ์ถ๊ฐ ๋ ๊ธฐ๋ฅ์ด promise ๊ธฐ๋ฅ์
๊ธฐ๋ฅ์ ์กด์ฌ ์ด์ ๋ ์๊ฒ ์ผ๋, ์ ํํ๊ฒ ์ด๋ป๊ฒ ํ์ฉํ๋์ง๋ ์ดํดํ์ง ๋ชปํ์!
promise ๊ธฐ๋ฅ๊ณผ ๊ฑฐ์ ๋์ผํ ๊ธฐ๋ฅ์ผ๋ก Async Await ๋ผ๋ ๊ธฐ๋ฅ์ด ์์
3-12 Module
//์ผ๋ฐ์ ์ธ javascript ํ์ผ ํธ์ถ ๋ฐฉ์(javascript์ export๋ฅผ ์
๋ ฅํ์ง ์์๋ค๋ ๊ฐ์ ํ์)
<script src="/scripts/3-13.module.js" type="module"></script>
//Module์ ํ์ฉํ์ฌ javascript ํ์ผ์ ํธ์ถํ๋ ๋ฐฉ์
<script type = "module">
import {log, error} from "/scripts/3-13.module.js";
log("log๋ก ๋ฉ์์ง ์ถ๋ ฅ")
error("error๋ก ๋ฉ์์ง ์ถ๋ ฅ")
Ecma6 ๋ฒ์ ๋ถํฐ ์ถ๊ฐ ๋ ๊ธฐ๋ฅ์
๋ชจ๋์ ํ์ฉํ๋ฉด ์๋ฌ๋ฅผ ์ค์ผ ์ ์๋ ์ฅ์ ์ด ์๊ณ , import๋ฅผ ํตํด ํ์ํ ๋ถ๋ถ๋ง ๊ฐ์ ธ์ฌ ์ ์๊ธฐ ๋๋ฌธ์ ์๋ฐ์คํฌ๋ฆฝํธ ์ ์ฒด๋ฅผ ์ฝ์ ํ์๊ฐ
์์ด ํจ์จ์ด ์ฆ๊ฐํจ
3-13 ํด๋์ค
//ํด๋์ค ์ ์ธ ์์
class Car {
constructor(modelName, modelYear, type, price) {
this.modelName = modelName;
this.modelYear = modelYear;
this.type = type;
this.price = price;
}
getModelName() {
return this.modelName;
}
getModelYear() {
return this.modelYear;
}
}
//ํด๋์ค ๊ฐ์ฒด ์ ์ธ ๋ฐ ํ์ฉ
let car = new Car("์์ด์ค๋", "2021", "์ ๊ธฐ์ฐจ", 4000);
console.log(car.getModelName());
console.log(car.getModelYear());
let car2 = new Car("์ ๋ค์์ค", "2021", "๊ฐ์๋ฆฐ", 6000);
console.log(car2.getModelName());
console.log(car2.getModelYear());
//ํด๋์ค ์์ ์์
class ElectronicCar extends Car {
constructor(modelName, modelYear, type, price)
super(modelName, modelYear, type, price)
}
let elecCar1 = new ElectronicCar("์์ด์ค๋", "2021", "์ ๊ธฐ์ฐจ", 4000);
console.log(elecCar1.getModelName());
๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ์ํ ๊ธฐ๋ฐ์ด ๋๋ ํด๋์ค๋ ํด๋์ค ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ธฐ ์ํ ์ผ์ข ์ ํ๋ก
ํด๋์ค ์ ์ธ ๋ฐฉ์, ๊ฐ์ฒด ์ ์ธ ๋ฐฉ์์ ์ฝ๊ฐ์ ์ฐจ์ด๋ ์กด์ฌํ์ง๋ง, ๊ฐ๋ ์์ฒด๋ ํ์ด์ฌ๊ณผ ํฌ๊ฒ ๋ค๋ฅด์ง ์์ ์ดํดํ๊ธฐ ์ฌ์ ์
์ค๋์ ๋ง๋ฌด๋ฆฌ ํ๋ฉฐ :
์๋ก์ด ๊ธฐ๋ฅ๋ค์ ๊ณ์ํด์ ๋ฐฐ์ฐ๊ณ ์์ง๋ง, ์ดํด๊ฐ ๋๋ ๊ธฐ๋ฅ๋ค๋ ์๊ณ ์ดํด๊ฐ ๋์ง ์๋ ๋ถ๋ถ๋ค๋ ๋ง์ด ์์ต๋๋ค.
๊ฐ์๋ฅผ ๋ค์ผ๋ฉด์ ์ฝ๊ฐ ๋ต๋ตํ ๊ฐ์ด ์์ง ์์ ์์ง๋ง, ์ผ๋จ์ javascript๊ฐ ์ด๋ค ๊ธฐ๋ฅ๋ค์ ๊ฐ์ง๊ณ ์๊ณ ์ด๋ป๊ฒ ๋ฌธ๋ฒ์ ๊ตฌ์ฌํ๋์ง ์ ์ฒด์ ์ผ๋ก ๋๋ฌ๋ณด๊ธฐ ์ํ ๊ณผ์ ์ด๋ฏ๋ก, ์ฐ์ ๊ณ์ํด์ ๊ฐ์๋ฅผ ๋ค์ ์์ ์ ๋๋ค.
๋จธ๋ฆฌ์ ๋ค์ด์ค๋๊ฒ ์๋๊ฒ ๊ฐ์ ๊ธฐ๋ถ์ด ๋ค์ด ์ค๋ ํ๋ฃจ๋ ์กฐ๊ธ์ ๋ต๋ตํ ๋ง๋ฌด๋ฆฌ์ธ ๊ฒ ๊ฐ์ต๋๋ค.
'๐ Language & CS knowledge > JavaScript (๊ธฐ์ด)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
3-14 Error ~ 4-04 ๋ฐ์ดํฐ ํ ์ด๋ธ (0) | 2022.06.19 |
---|---|
2-07 JSON ~ 3-05 Arrow Function (0) | 2022.06.16 |
2-02 Number ๋ด์ฅํจ์ ~ 2-06 Math ๋ด์ฅํจ์ (0) | 2022.06.16 |
1-07 ์ฐ์ฐ์ ~ 2-01 String ๋ด์ฅํจ์ (0) | 2022.06.16 |
1-01 ์๋ฐ์คํฌ๋ฆฝํธ ์์ฑ์์น ~ 1-06 64๋นํธ๋ถ๋์์์ (0) | 2022.06.16 |