HTML+CSS+JavaScript/JavaScript

[JavaScript]JavaScript

stonesy 2024. 3. 17. 18:06
728x90

๐Ÿ“–JavaScript

  • ํ”„๋กœํ† ํƒ€์ž… ๊ธฐ๋ฐ˜์˜ ์Šคํฌ๋ฆฝํŠธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ๊ฐ์ฒด์ง€ํ–ฅ ๊ฐœ๋…์„ ์ง€์›ํ•œ๋‹ค.
  • ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ JavaScript๋ฅผ HTML๊ณผ ํ•จ๊ป˜ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ์‹คํ–‰ํ•œ๋‹ค.
  • ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ HTML ๋ฌธ์„œ๋ฅผ ์ฝ์–ด ๋“ค์ด๋Š” ์‹œ์ ์— JavaScript Engine์ด ์‹คํ–‰๋œ๋‹ค.
  • ๋Œ€๋ถ€๋ถ„์˜ JavaScript Engine์€ ECMAScript ํ‘œ์ค€์„ ์ง€์›ํ•œ๋‹ค.

*JavaScript์˜ ์„ ์–ธ

<script> ํƒœ๊ทธ๋Š” HTML ํŒŒ์ผ ๋‚ด๋ถ€์˜ <head>๋‚˜ <body> ์–ด๋Š ๊ณณ์—์„œ๋‚˜ ์„ ์–ธ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ์ผ๋ฐ˜์ ์œผ๋กœ <body>์•ˆ์˜ ๋๋ถ€๋ถ„์— <script> ํƒœ๊ทธ๋ฅผ ๋‘˜ ๊ฒƒ์„ ๊ถŒ์žฅํ•œ๋‹ค. ๊ทธ ์ด์œ ๋Š” <head> ์•ˆ์— ์œ„์น˜ํ•œ Javasciprt๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ ๊ฐ์ข… ์ž…/์ถœ๋ ฅ ๋ฐœ์ƒ ์ด์ „์— ์ดˆ๊ธฐํ™”๋˜์ง€๋งŒ, <body>์•ˆ์— ์œ„์น˜ํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ HTML๋ถ€ํ„ฐ ํ•ด์„ํ•˜์—ฌ ํ™”๋ฉด์— ๊ทธ๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์ž๊ฐ€ ๋น ๋ฅด๋‹ค๊ณ  ๋Š๋‚„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

<srcipt src="./main.js" type="text/javascript"></script> ⇒ type="text/javascript"๋Š” text์ง€๋งŒ javascript๋กœ ํ•ด์„ํ•ด์ค˜

 

โ—Window, DOM, BOM, ๊ทธ๋ฆฌ๊ณ  JavaScript

Window๊ฐ์ฒด๋Š” JavaScript์˜ ์ตœ์ƒ์œ„ ๊ฐ์ฒด์ด์ž ์ „์—ญ ๊ฐ์ฒด์ด๋ฉด์„œ ๋ชจ๋“  ๊ฐ์ฒด๊ฐ€ ์†Œ์†๋œ ๊ธ€๋กœ๋ฒŒ ๊ฐ์ฒด์ด๋‹ค. ์ด๋•Œ, Window ๊ฐ์ฒด์˜ ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

DOM(Document Object Model)์€ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์›น ๋ฌธ์„œ๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌ์„ฑ๋œ ๊ฒƒ์œผ๋กœ HTML ์š”์†Œ๋ฅผ ํŒŒ์‹ฑํ•˜์—ฌ ๊ตฌ์„ฑ๋œ๋‹ค. HTML๊ณผ JavaScript๋ฅผ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” ์š”์†Œํ•˜๊ณ ๋„ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, Javascript๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ ์š”์†Œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. BOM(Browser Object Model)์€ Javascript๊ฐ€ ๋ธŒ๋ผ์šฐ์ €์™€ ์†Œํ†ตํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋งŒ๋“ค์–ด์ง„ ๋ชจ๋ธ๋กœ, navigator, location,

  • document, history ๋“ฑ์ด ์ด์— ํ•ด๋‹น๋œ๋‹ค.
  • location: url์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณต
  • document: ํ˜„์žฌ ๋ฌธ์„œ์— ๋Œ€ํ•œ ์ •๋ณด ์ œ๊ณต
  • navigator: ๋ธŒ๋ผ์šฐ์ €์˜ ์ •๋ณด ์ œ๊ณต
  • history: ๋ธŒ๋ผ์šฐ์ €์˜ ๋ฐฉ๋ฌธ ๊ธฐ๋ก ์ •๋ณด ์ œ๊ณต
  • screen: ๋ธŒ๋ผ์šฐ์ € ์™ธ๋ถ€ ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ์ •๋ณด ์ œ๊ณต

https://velog.io/@imok-_/JavaScript-DOM-BOM-%EC%9D%B4%EB%9E%80

 

[JavaScript] DOM, BOM ์ด๋ž€?

[JavaScript] DOM, BOM, Window์— ๋Œ€ํ•œ ์ดํ•ด

velog.io

 

 

๐Ÿ”Ž๋ณ€์ˆ˜

  • JavaScript๋Š” ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ ํƒ€์ž…์„ ๋ช…์‹œํ•˜์ง€ ์•Š๊ณ  var keyword๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ ์–ธ
  • JavaScript๋Š” ๋™์ ํƒ€์ž… ์–ธ์–ด. ๋ณ€์ˆ˜์˜ ํƒ€์ž… ์ง€์ •์—†์ด ๊ฐ’์ด ํ• ๋‹น๋˜๋Š” ๊ณผ์ •์—์„œ ์ž๋™์œผ๋กœ ๋ณ€์ˆ˜์˜ ํƒ€์ž…์ด ๊ฒฐ์ • → ๊ฐ™์€ ๋ณ€์ˆ˜์— ์—ฌ๋Ÿฌ ํƒ€์ž…์˜ ๊ฐ’์„ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋‹ค.
  • JavaScript๋Š” EDMAScript ํ‘œ์ค€์— ๋”ฐ๋ผ ๋‚™ํƒ€ ํ‘œ๊ธฐ๋ฒ•(Camel case)๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
  • ํ‚ค์›Œ๋“œ, ๊ณต๋ฐฑ ๋ฌธํ™” ํฌํ•จ, ์ˆซ์ž๋กœ ์‹œ์ž‘ X
  • ํŠน์ˆ˜ ๋ฌธ์ž๋Š” _์™€ $ ํ—ˆ์šฉ

*๋‚™ํƒ€ ํ‘œ๊ธฐ๋ฒ•(Camel case)

์—ฌ๋Ÿฌ ๋‹จ์–ด๊ฐ€ ๊ฒฐํ•ฉ๋œ ๊ฒฝ์šฐ ๊ฐ ๋‹จ์–ด์˜ ์ฒซ ๊ธ€์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ์“ฐ๊ณ  ๋‚˜๋จธ์ง€ ๊ธ€์ž๋Š” ์†Œ๋ฌธ์ž๋กœ ์“ฐ๋Š” ๋ฐฉ์‹

์˜ˆ: camelCaseExample

 

 

๐Ÿ”Ž์ž๋ฃŒํ˜•

  • JavaScript์—์„œ๋Š” ์ž๋ฃŒํ˜•์„ ์›์‹œํƒ€์ž…๊ณผ ๊ฐ์ฒดํƒ€์ž…์œผ๋กœ ๋ถ„๋ฅ˜ํ•˜๋ฉฐ, ์›์‹œ ํƒ€์ž…์—๋Š” ์ˆซ์ž, ๋ฌธ์ž์—ด, boolean, null, undefined์™€ ๊ฐ™์ด 5๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.
  • ์ˆซ์ž: JavaScript๋Š” ์ˆซ์ž๋ฅผ ์ •์ˆ˜์™€ ์‹ค์ˆ˜๋กœ ๋‚˜๋ˆ„์–ด ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๋Š”๋‹ค.
    • ์ˆซ์ž์˜ ์—ฐ์‚ฐ ์ฒ˜๋ฆฌ์‹œ ์‹ค์ˆ˜ ํ˜•ํƒœ๋กœ ์ด๋ฃจ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ํŠน์ • ์†Œ์ˆ˜์ ์„ ์ •ํ™•ํ•˜๊ฒŒ ํ‘œํ˜„ํ•˜์ง€ ๋ชปํ•œ๋‹ค.
    • JavaScript๋Š” ์–ธ๋”ํ”Œ๋กœ์šฐ, ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ, 0์œผ๋กœ ๋‚˜๋ˆ„๋Š” ์—ฐ์‚ฐ์— ๋Œ€ํ•ด์„œ ์˜ˆ์™ธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค์ง€ ์•Š๋Š”๋‹ค.
    • ์ˆซ์ž์™€ ๊ด€๋ จ๋œ ํŠน๋ณ„ํ•œ ์ƒ์ˆ˜ ์กด์žฌ
      • Infinity: ๋ฌดํ•œ๋Œ€
      • NaN(Not a Number): ๊ณ„์‚ฐ์‹์˜ ๊ฒฐ๊ณผ๊ฐ€ ์ˆซ์ž๊ฐ€ ์•„๋‹˜์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ƒ์ˆ˜
  • ๋ฌธ์ž์—ด
    • ๋ฌธ์ž์™€ ๋ฌธ์ž์—ด์„ ๋”ฐ๋กœ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๋Š”๋‹ค.
    • ์ž‘์€ ๋”ฐ์˜ดํ‘œ ๋˜๋Š” ํฐ ๋”ฐ์˜ดํ‘œ ๋‘˜๋‹ค ์‚ฌ์šฉ ๊ฐ€๋Šฅ + ๋ฐฑํ‹ฑ(``)
  • boolean
    • ๋น„์–ด ์žˆ๋Š” ๋ฌธ์ž์—ด, null, undefined, ์ˆซ์ž 0์€ false๋กœ ๊ฐ„์ฃผ๋œ๋‹ค.
  • null์€ ๊ฐ’์ด ์—†๊ฑฐ๋‚˜ ๋น„์–ด์žˆ์Œ์„ ๋œปํ•˜๊ณ , undefined๋Š” ๊ฐ’์ด ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š์•˜์Œ์„ ์˜๋ฏธํ•œ๋‹ค.

 

๐Ÿ”Žํ˜ธ์ด์ŠคํŒ…

ํ˜ธ์ด์ŠคํŒ…์ด๋ž€ var ์„ ์–ธ๋ฌธ๊ณผ ํ•จ์ˆ˜ ์„ ์–ธ๋ฌธ์ด ํ•ด๋‹น scope์˜ ์ตœ์ƒ๋‹จ์œผ๋กœ ๋Œ์–ด์˜ฌ๋ ค์ง€๋Š” ํ˜„์ƒ์ด๋‹ค. ์ฆ‰, ์ด ๊ฒฝ์šฐ ์„ ์–ธ๋ฌธ์ด ์„ ์–ธ๋˜๊ธฐ ์ด์ „์— ์ฐธ์กฐ๊ฐ€ ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.

Javascript์—์„œ ๋ณ€์ˆ˜์˜ ์ƒ์„ฑ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค.1. ์„ ์–ธ ๋‹จ๊ณ„: ๋ณ€์ˆ˜ ๊ฐ์ฒด์— ๋ณ€์ˆ˜๋ฅผ ๋“ฑ๋กํ•œ๋‹ค.2. ์ดˆ๊ธฐํ™” ๋‹จ๊ณ„: ๋ณ€์ˆ˜ ๊ฐ์ฒด์— ๋“ฑ๋ก๋œ ๋ณ€์ˆ˜๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ํ• ๋‹นํ•˜๊ณ , undefined๋กœ ์ดˆ๊ธฐํ™”๋œ๋‹ค3. ํ• ๋‹น ๋‹จ๊ณ„: undefined๋กœ ์ดˆ๊ธฐํ™”๋œ ๋ณ€์ˆ˜๊ฒŒ ์‹ค์ œ๊ฐ’์„ ํ• ๋‹นํ•œ๋‹ค.

⇒1,2 ๋‹จ๊ณ„๋Š” ํ•œ๊บผ๋ฒˆ์— ์ด๋ฃจ์–ด์ง

console.log(num); //undefind; → Hoisting
var num = 123;
console.log(num); //123
{
	var num = 456;
}
console.log(num); //456 
//→ num์€ ์ „์—ญ ๋ณ€์ˆ˜์ด๋ฏ€๋กœ ์ „์—ญ์— ์„ ์–ธํ•œ ๋ณ€์ˆ˜ num์— ๋‘๋ฒˆ์งธ num์ด ์žฌํ• ๋‹น๋˜๊ธฐ ๋•Œ๋ฌธ์— 456๋ฅผ ๊ฐ–๋Š”๋‹ค.
//ํ•ด๊ฒฐ์ฑ…: let, const

 

โ—๋ณ€์ˆ˜ ํ˜ธ์ด์ŠคํŒ…๊ณผ ํ•จ์ˆ˜ ํ˜ธ์ด์ŠคํŒ…

  • ํ•จ์ˆ˜ ์„ ์–ธ๋ฌธ์œผ๋กœ ์ •์˜๋œ ํ•จ์ˆ˜๋Š” JavaScript ์—”์ง„์ด ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋กœ๋”ฉ๋˜๋Š” ์‹œ์ ์— ์ด๋ฅผ ๋ณ€์ˆ˜๊ฐ์ฒด์— ์ €์žฅํ•œ๋‹ค. ํ•จ์ˆ˜ ์„ ์–ธ, ์ดˆ๊ธฐํ™”, ํ• ๋‹น์ด ํ•œ๋ฒˆ์— ์ด๋ฃจ์–ด์ง„๋‹ค.
var result = plus(5,7);
console.log(result);

function plus(num1, num2) {
	return num1 + num2;
}
  • ๋‹จ, ํ•จ์ˆ˜ ํ‘œํ˜„์‹์˜ ๊ฒฝ์šฐ ํ•จ์ˆ˜ ํ˜ธ์ด์ŠคํŒ…์ด ์•„๋‹ˆ๋ผ ๋ณ€์ˆ˜ ํ˜ธ์ด์ŠคํŒ…์ด ๋ฐœ์ƒํ•œ๋‹ค.
var result = plus(5,7);
console.log(result);

var plus = function(num1, num2) {
	return num1 + num2;
}

โ€ป์˜ˆ์ œ

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<script>
    /**
     * ์„ ์–ธ์  ํ•จ์ˆ˜
     * function ํ•จ์ˆ˜๋ช…(์ธ์ž๋“ค){}
     * 
     * ํ‘œํ˜„์‹(์ต๋ช…) ํ•จ์ˆ˜ - ๋ณ€์ˆ˜, ์ธ์ž, ๋ฆฌํ„ด์œผ๋กœ ํ™œ์šฉ
     * function(){}
     */
     
     
    test1();
    //test2(); //๋ณ€์ˆ˜ ํ˜ธ์ด์ŠคํŒ…์ด๋ฏ€๋กœ undefined๋กœ ์ดˆ๊ธฐํ™” ๋˜์–ด ์žˆ์–ด error ๋ฐœ์ƒ
    
    function test1(){
       console.log('test1 ํ˜ธ์ถœ๋จ');
    }

    var test2 = function(){
        console.log('test2 ํ˜ธ์ถœ๋จ');
    }
    console.log(window);
</script>
<body>
</body>
</html>

 

 

๐Ÿ”Ž==์—ฐ์‚ฐ์ž์™€ ===์—ฐ์‚ฐ์ž์˜ ์ฐจ์ด

===๋Š” ํƒ€์ž…์ด ํฌํ•จ๋œ๋‹ค.

 

 

๐Ÿ”ŽJavaScript ๊ฐ์ฒด

  • ๊ฐ์ฒด๋Š” ์ด๋ฆ„๊ณผ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ ํ”„๋กœํผํ‹ฐ(Property)๋“ค์˜ ์ง‘ํ•ฉ
  • ์ „์—ญ ๊ฐ์ฒด๋ฅผ ์ œ์™ธํ•œ JavaScript ๊ฐ์ฒด๋Š” ํ”„๋กœํผํ‹ฐ๋ฅผ ๋™์ ์œผ๋กœ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.
  • JavaScript์˜ ํ•จ์ˆ˜๋Š” ์ผ๊ธ‰ ๊ฐ์ฒด์ด๋ฏ€๋กœ ๊ฐ’์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ”„๋กœํผํ‹ฐ์˜ ๊ฐ’์œผ๋กœ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
let empty_object = {}
let member = {
	"user_name": "์Šคํ†ค์ง€",
	age: 20,
	city: "์„œ์šธ",
};

//๊ฐ์ฒด์˜ ์†์„ฑ์— ์ ‘๊ทผ
console.log(member.age); //1. dot ํ‘œ๊ธฐ๋ฒ•
console.log(member["age"]); //2. [] ํ‘œ๊ธฐ๋ฒ•

//์†์„ฑ๋ช…์— ์—ฐ์‚ฐ์ž๊ฐ€ ํฌํ•จ๋œ ๊ฒฝ์šฐ [] ํ‘œ๊ธฐ๋ฒ•๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅ
console.log(member["user-name"]); //์Šคํ†ค์ง€
console.log(member.user-name); //NaN

console.log(member.classNum); //undefined
console.log(member.classNum || 10); //10

 

console.log(member.classNum || 10); //10 
//→member.classNum์ด ์กด์žฌํ•˜๋ฉด ๊ทธ ๊ฐ’์„ ์ถœ๋ ฅํ•˜๊ณ , ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ๋Œ€์‹ ์— 10์„ ์ถœ๋ ฅํ•˜๋Š” ์ฝ”๋“œ, ์ด๋Š” ๋ณ€์ˆ˜๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ๋น„์–ด ์žˆ์„ ๋•Œ ๊ธฐ๋ณธ๊ฐ’์„ ์„ค์ •ํ•˜๋Š” ์ผ๋ฐ˜์ ์ธ JavaScript์˜ ์‚ฌ์šฉ ํŒจํ„ด ์ค‘ ํ•˜๋‚˜

 

 

๐Ÿ”Ž๋ฐฐ์—ด

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        /*
            ๋ฐฐ์—ด
            - ํ•˜๋‚˜์˜ ๋ณ€์ˆ˜์— ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ
            - length ์†์„ฑ์ด ์žˆ๊ณ  ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
            - index๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ length - 1๊นŒ์ง€ ์ ‘๊ทผ
            - ๋ฐฐ์—ด์˜ ์‚ฌ์ด์ฆˆ๋Š” ๊ณ ์ •๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค.
            - ๋‹ค์–‘ํ•œ ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.
            - ์„ ์–ธ ๋ฐฉ๋ฒ•
            1. ๋ณ€์ˆ˜๋ช… = [๊ฐ’, ...];
            2. ๋ณ€์ˆ˜๋ช… = new Array();
        */
       var a1 = [0,1];
       var a2 = new Array();

       console.log('a1์˜ ๊ธธ์ด:', a1.length);
       console.log('a2์˜ ๊ธธ์ด:', a2.length);

       //๋ฐฐ์—ด์— ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€
       //๋ณ€์ˆ˜[index] = ๊ฐ’ //ํ•ด๋‹น index์— ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์œผ๋ฉด ์ถ”๊ฐ€
       //๋ณ€์ˆ˜.push(๊ฐ’)     //๋งจ ๋์— ์ถ”๊ฐ€๋จ.
        a1.push(2);
        a1[5]=5;
        console.log('๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ํ›„ a1: ', a1);
        console.log(a1[3]); //3๋ฒˆ์งธ index๋Š” ์ดˆ๊ธฐํ™”๊ฐ€ ๋˜์ง€ ์•Š์•„ undefined

        //1. ๋ฐฐ์—ด ์š”์†Œ ์‚ญ์ œ
        //1. pop()
        //  - ๋ฐฐ์—ด์˜ ๋งˆ์ง€๋ง‰ ์š”์†Œ๋ฅผ ์‚ญ์ œํ›„ ์‚ญ์ œํ•œ ์š”์†Œ๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค.
        //  - ๋ฐฐ์—ด์— ์‚ญ์ œํ•  ์š”์†Œ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ undefined
        console.log(a1.pop());
        console.log(a2.pop());

        //2. shift()
        //  - ๋ฐฐ์—ด์˜ ์ฒซ๋ฒˆ์งธ ์š”์†Œ๋ฅผ ์‚ญ์ œํ›„ ์‚ญ์ œํ•œ ์š”์†Œ๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค.
        //  - ๋ฐฐ์—ด์— ์‚ญ์ œํ•  ์š”์†Œ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ undefined
        console.log(a1.shift());
        console.log(a2.shift());

        //3. delete ๋ณ€์ˆ˜๋ช…[index]: index๋ฒˆ์งธ ์š”์†Œ๋ฅผ ์‚ญ์ œ,
        // ํ•ด๋‹น ์š”์†Œ๊ฐ€ ์—†์–ด๋„ error๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค.
        delete a1[5];   //5๋ฒˆ์งธ ์š”์†Œ๊ฐ€ ์—†์ง€๋งŒ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค.

        //4. splice(startIdx, len): ์‹œ์ž‘ index๋ถ€ํ„ฐ ์ง€์ •ํ•œ ๊ฐœ์ˆ˜๊นŒ์ง€ ์‚ญ์ œํ•ด์„œ ๋ฆฌํ„ด
        var a3 = [1,2,3,4,5];
        var a4 = a3.splice(1,2);
        console.log('a3: ', a3);
        console.log('a4: ', a4);

        //5. filter(ํ•จ์ˆ˜)
        var a5 = [1,2,3,4,5,6];
        //์ง์ˆ˜๋งŒ ์ถ”์ถœ
        var evens = a5.filter(function(data){return data%2===0 })
        console.log('evens: ',evens);

        //6. sortํ•จ์ˆ˜
        a5.sort(function(a,b){return b-a;})
        console.log('a5:',a5);

        var a6 = [1, 'hello', 3.14, [1,2,3]];

    </script>
</head>
<body>
    
</body>
</html>
728x90

'HTML+CSS+JavaScript > JavaScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

ES6+  (0) 2024.11.01