๊ณต๋ถ€ ๊ธฐ๋ก โœ๏ธ/Javascript

JS-Do it! JS - #8์ผ (09,10)

๋ฒ„๋‘˜ 2023. 3. 23. 18:01

9.๊ฐ์ฒด

๊ฐ์ฒด

ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๋Œ€์ƒ, ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์ฒ˜๋ฆฌํ•˜๋Š” ๊ธฐ๋ณธ ๋‹จ์œ„

-์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๊ฐ์ฒด๋ž€?

๋‹ค์–‘ํ•œ ๋™์ž‘์ด ๋ชจ์—ฌ์•ผ ๋‹ค๋ฅธ ์‚ฌ๋ฌผ๊ณผ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ์ง€ ๋งํ•  ์ˆ˜ ์žˆ๋‹ค.

์ž์Šค๊ฐ์ฒด๋ž€ ๊ด€๋ จ๋œ ์ •๋ณด์™€ ๋„์ž‘์„ ํ•จ๊ป˜ ๋ชจ์•„๋†“์€ ๊ฒƒ

์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐ์ดํ„ฐ ์œ ํ˜•์„ ํ•จ๊ป˜์‚ฌ์šฉ ์‹ฌ์ง€์–ด, ๊ฐ์ฒด ์•ˆ์— ๋‹ค๋ฅธ ๊ฐ์ฒด๋„ ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค.

- ๋‚ด์žฅ๊ฐ์ฒด

์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ์š”์†Œ๋Š” ์ž์Šค์— ๋ฏธ๋ฆฌ ๊ฐ์ฒด๋กœ ์ •์˜๋˜์–ด์žˆ๋Š”๋ฐ ์ด๋ฅผ ๋‚ด์žฅ๊ฐ์ฒด๋ผ๊ณ  ํ•œ๋‹ค

ex) Date๊ฐ์ฒด, Number๊ฐ์ฒด,Math,Array...

 

์‚ฌ์šฉ์ž ์ •์˜ ๊ฐ์ฒด ๋งŒ๋“ค๊ธฐ

let book1={
	title:"์ž๋ฃŒ๊ตฌ์กฐ",
    pages:648
    //ํ‚ค:๊ฐ’ 
}

ํ”„๋กœํผํ‹ฐ ์ˆ˜์ •,์ถ”๊ฐ€

book1.pages=50 //์ˆ˜์ •
book1.author="์ €์ž" //์ถ”๊ฐ€

๋นˆ ๊ฐ์ฒด ์ž‘์„ฑ ํ›„ ํ”„๋กœํผํ‹ฐ ์ถ”๊ฐ€

let book2={}
let book2=new Object()

book2.title="JS"

ํ”„๋กœํผํ‹ฐ ์‚ญ์ œ

delete book2.title

//๊ฐ’๋งŒ ์ œ๊ฑฐํ•  ๊ฒฝ์šฐ๋Š”?
book.author=undefined

 

this

this๋ž€ ํ˜„์žฌ ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค.

๊ฐ™์€ ํ”„๋กœํผํ‹ฐ๋ฅผ ๊ฐ€์ง€๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค ๊ฒฝ์šฐ์—๋Š” this.ํ”„๋กœํผํ‹ฐ ๋กœ ์‚ฌ์šฉ

๋‹จ,ํ™”์‚ดํ‘œ ํ•จ์ˆ˜ ๋‚ด์—์„œ this๋Š” ์ตœ์ƒ์œ„์ธ window๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค.

 

์ž๋ฃŒ ๋ณต์‚ฌ (๊ฐ’ ์ „๋‹ฌ vs ์ฐธ์กฐ๋กœ ์ „๋‹ฌ)

๊ฐ’ ์ „๋‹ฌ

๋ณ€์ˆ˜์— ๊ฐ’์„ ํ• ๋‹น -> ๋ณ€์ˆ˜๋ฅผ ์œ„ํ•œ ์ƒˆ๋กœ์šด ๊ณต๊ฐ„ ์ƒ์„ฑ -> ๊ฐ’์ด ์ €์žฅ => 2๊ฐœ์˜ ๋ณ€์ˆ˜ ๊ณต๊ฐ„,์„œ๋กœ ๋‹ค๋ฅธ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ

(๋‹ค๋ฅธ ๋ณ€์ˆ˜์— ๊ฐ’์„ ๋ณ€๊ฒฝํ•ด๋„ ์ฒ˜์Œ ๋ณ€์ˆ˜์—๋Š” ์ง€์žฅ x)

์ฐธ์กฐ๋กœ ์ „๋‹ฌ

์ €์žฅ๋œ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๊ฐ€ ์ „๋‹ฌ๋˜๋Š” ๋ฐ”์‹

๊ฐ์ฒด๋ฅผ ์œ„ํ•œ ๊ณต๊ฐ„์ด ๋งŒ๋“ค์–ด์ง€๋Š”๊ฒƒ์ด ์•„๋‹Œ, ์ฃผ์†Œ๋ฅผ ๋„˜๊ฒจ์ฃผ๋Š” ๊ฒƒ

 

์ƒ์„ฑ์ž ํ•จ์ˆ˜: ๊ฐ์ฒด์˜ ํ‹€์ธ ํ•จ์ˆ˜

์ธ์Šคํ„ด์Šค(์ธ์Šคํ„ด์Šค ๊ฐ์ฒด):์ƒ์„ฑ์ž ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งŒ๋“  ๊ฐ์ฒด

 

์ฐธ๊ณ  ์‹ค์Šต

class Pet{
    constructor(name,color){
        this.name=name;
        this.color=color;
    }
    run(){
        alert(`${this.name} is running`);
    }
}

const dog=new Pet("buddle","ivory");
dog.run();

class Cat extends Pet{
    constructor(name,color,breed){
        super(name,color);
        this.breed=breed;
    }
    viewInfo(){
        alert(`์ด๋ฆ„: ${this.name} ํ’ˆ์ข…:${this.breed} ์ƒ‰๊น”:${this.color}`);
    }
}

let cat1= new Cat("๋ฒ„๋“ค","ivory","sigoljobjong");
cat1.viewInfo();
cat1.run();

10.๋ฐฐ์—ด

 

๋ฌธ์ž์—ด์— ํŠน์ • ๋ฌธ์ž๋‚˜ ๋ฌธ์ž์—ด์ด ํฌํ•จ๋˜์–ด์žˆ๋Š”์ง€ ํ™•์ธ - includes()

str="Hello, everyone."
str.includes("every") //true

 

์ •๊ทœ ํ‘œํ˜„์‹์˜ ๋ฌธ์ž ํด๋ž˜์Šค

ํด๋ž˜์Šค์˜ ์ข…๋ฅ˜ ๊ธฐํ˜ธ ์„ค๋ช…
์ˆซ์ž (digit)ํด๋ž˜์Šค \d 0~9 ์‚ฌ์ด ์ˆซ์ž
\D ์ˆซ์ž๊ฐ€ ์•„๋‹Œ ๋ชจ๋“  ๋ฌธ์ž
๊ณต๋ฐฑ(space)ํด๋ž˜์Šค \s ๊ณต๋ฐฑ,ํƒญ,์ค„๋ฐ”๊ฟˆ
\S ๊ณต๋ฐฑ์ด ์•„๋‹Œ ๋ชจ๋“  ๋ฌธ์ž
๋‹จ์–ด (word)ํด๋ž˜์Šค \w ๋‹จ์–ด์— ๋“ค์–ด๊ฐ€๋Š” ๋ฌธ์ž,์ˆซ์ž,์–ธ๋”๋ฐ”
\W ๋‹จ์–ด์— ๋“ค์–ด๊ฐ€์ง€ ์•Š๋Š” ๋ฌธ์ž

 

๋ฌธ์ž์—ด์„ ๋ฌธ์ž ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜

1. split()

str5="Hello, everyone."
arr2=str5.split("") //["H","e"...]

2 ์ „๊ฐœ ์—ฐ์‚ฐ์ž

arr3=[...str5]

3. Array.from()

arr4=Array.from(str5)

 

๋ฌธ์ž์—ด ๋ฐฐ์—ด์„ ๋‹ค์‹œ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ - join()

str6=array4.join("") ///"Hello,~"

 

 

forEach

let alpahbets=["a","b","c"]
alpahbets.forEach(alphabet =>{
์‹คํ–‰~
});

 

์›ํ•˜๋Š” ์œ„์น˜์— ์žˆ๋Š” ์š”์†Œ ์ถ”์ถœ,์ถ”๊ฐ€ - slice()

์›๋ž˜ ๋ฐฐ์—ด์€ ๋ฐ”๋€Œ์ง€ ์•Š์Œ

let colors=["red","green","blue","black"]
colors.slice(2)//["blue","black"]
colors //[

 

 

<์‹ค์Šต ์ฝ”๋“œ>

const origin = document.querySelector("#origin");
const result = document.querySelector("#result");

let numbers = [2, 4, 6, 8, 10];
showArray(origin,numbers); //?

let sum=0;
for(let i=0; i<numbers.length;i++){
    sum += numbers[i];
}
numbers.push(sum);
showArray(result,numbers);

function showArray(area,arr){
    let str;
    str="<table><tr>";
    for(let i=0;i<arr.length;i++){
        str += "<td>"+arr[i]+"</td>";
    }
    str+="</tr></table>"
    area.innerHTML = str;
}

'๊ณต๋ถ€ ๊ธฐ๋ก โœ๏ธ > Javascript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

JS-Do it! JS - #10์ผ (14,15)  (0) 2023.04.01
JS-Do it! JS - #9์ผ (11,12,13)  (0) 2023.03.30
JS-Do it! JS - #7์ผ์ฐจ (08)  (0) 2023.03.23
JS-Do it! JS - #6์ผ์ฐจ  (0) 2023.03.21
JS-Do it! JS - #5์ผ์ฐจ  (0) 2023.03.21