๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

javascript/๋ฐ”๋‹๋ผ JS๋กœ ํฌ๋กฌ ์•ฑ ๋งŒ๋“ค๊ธฐ

DAY 2

 

#2.1 Basic Data Types

 

 

Number : Integer(์ •์ˆ˜), Float(์†Œ์ˆ˜)

String : ๋ฌธ์ž์—ด, ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง 

 

๋ฌธ์ž์—ด์€ ์•„๋ž˜์™€ ๊ฐ™์ด ''๋‚˜ ""๋กœ ๊ฐ์‹ธ์„œ ํ‘œํ˜„ํ•ด์•ผ ํ•œ๋‹ค. 

console.log('hello');
console.log("my name is " + "hayeon");

 

 

#2.2 Variables

 

console.log(5 + 2);
console.log(5 * 2);
console.log(5 - 2);

 

์•„๋ž˜ ์ฝ”๋“œ์—์„œ 5๋ฅผ ๋‹ค๋ฅธ ์ˆซ์ž๋กœ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ๋‹ค๋˜์ง€, 2๋ฅผ ๋‹ค๋ฅธ ์ˆซ์ž๋กœ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ์„ ๋•Œ ํ•˜๋‚˜ํ•˜๋‚˜ ๋ฐ”๊ฟ”์ค˜์•ผํ•˜๋Š” ๊ฒƒ์€ ๋ฒˆ๊ฑฐ๋กœ์šด ์ผ์ด๋‹ค. ์ด ๊ท€์ฐฎ์€ ์ผ์„ ํ•ด๊ฒฐํ•ด์ฃผ๋Š” ๊ฒƒ์ด ๋ณ€์ˆ˜๋‹ค. 

 

๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” const๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. constant(์ƒ์ˆ˜)๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, ๋ฐ”๋€Œ์ง€ ์•Š๋Š” ๊ฐ’์ด๋ผ๋Š” ๋œป์ด๋‹ค.

 

const๋ฅผ ๋งŒ๋“ค ๋•Œ javascript์—์„œ๋Š” ์ฃผ๋กœ camelCasing ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค. ์•„๋ž˜ ์ฝ”๋“œ์—์„œ ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด myName์ฒ˜๋Ÿผ, ์ฒซ ๋ฒˆ์งธ ๋ฌธ์ž๋Š” ์†Œ๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•˜๊ณ  ๋ณตํ•ฉ์–ด์ผ ๊ฒฝ์šฐ PascalCasing(๋ณตํ•ฉ์–ด์ผ ๊ฒฝ์šฐ ์ค‘๊ฐ„์— ์‹œ์ž‘ํ•˜๋Š” ์ƒˆ๋กœ์šด ๋‹จ์–ด๋Š” ๋Œ€๋ฌธ์ž๋กœ ์ ์Œ)๊ณผ ๋™์ผํ•˜๊ฒŒ ์ ์šฉํ•œ๋‹ค. ๊ธด ๋ณ€์ˆ˜์˜ ์ด๋ฆ„์ด์–ด๋„, veryLongVariableName ์ฒ˜๋Ÿผ ํ‘œ์ค€์— ๋งž๊ฒŒ ์ž‘์„ฑํ•˜๋ฉด ๋œ๋‹ค. 

ํŒŒ์ด์ฌ์—์„œ๋Š” ์ „๋ถ€ ์†Œ๋ฌธ์ž๋กœ ์“ฐ๋Š” ๋Œ€์‹ , ๋ณตํ•ฉ์–ด์˜ ๊ฒฝ์šฐ ๊ฐ ๋‹จ์–ด๊ฐ€ ๋๋‚  ๋•Œ๋งˆ๋‹ค _๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. my_name, very_long_variable_name ๊ณผ ๊ฐ™์ด ์“ธ ์ˆ˜ ์žˆ๋‹ค.

 

const a = 5;
const b = 2; 

console.log(a + b);
console.log(a * b);
console.log(a - b);

const myName = "hayeon";
console.log("hello " + myName);

 

 

#2.3 const and let

 

let, const, var์˜ ์ฐจ์ด์ 

๋ณ€์ˆ˜ const let var
์žฌ์„ ์–ธ โŒ โŒ โญ•
์žฌํ• ๋‹น โŒ โญ• โญ•

 

let์€ const์™€ ๋‹ฌ๋ฆฌ ์žฌํ• ๋‹น์€ ๊ฐ€๋Šฅํ•˜๋‹ค. ๋‹ค๋งŒ ๊ฐ™์€ ์ด๋ฆ„์œผ๋กœ ๋˜ let myName = "~~"๊ณผ ๊ฐ™์ด ์žฌ์„ ์–ธ์„ ํ–ˆ๋‹ค๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋‚  ๊ฒƒ์ด๋‹ค. (์žฌ์„ ์–ธ์€ ๋ถˆ๊ฐ€ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.) 

์•„๋ž˜ ์ฝ”๋“œ์—์„œ ๋งŒ์•ฝ myName์„ const๋กœ ์„ ์–ธํ–ˆ์„ ๊ฒฝ์šฐ let์ฒ˜๋Ÿผ ์žฌํ• ๋‹น์กฐ์ฐจ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

 

let myName = "hayeon"; // let์€ ์ƒˆ๋กญ๊ฒŒ ์ •์˜ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ (์žฌ์„ ์–ธ ๊ธˆ์ง€)
console.log("hello " + myName);

// ์žฌํ• ๋‹น
myName = "kimHaYeon"; // ์žฌํ• ๋‹นํ•  ๋•Œ๋Š” ๋‹ค์‹œ let์„ ๋ถ™์ด์ง€ ์•Š๋Š”๋‹ค.
console.log("hello " + myName);

 

var์˜ ๊ฒฝ์šฐ ์žฌ์„ ์–ธ, ์žฌํ• ๋‹น์ด ๋ชจ๋‘ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋„ˆ๋ฌด ์ง€๋‚˜์น˜๊ฒŒ ์œ ์—ฐํ•œ ๋‚˜๋จธ์ง€ ์–ธ์–ด์— ๋Œ€ํ•œ ๋ณดํ˜ธ๋ฅผ ๋ฐ›์ง€ ๋ชปํ•ด ๋ณ€์ˆ˜๊ฐ’์ด ์‹ค์ˆ˜๋กœ ๋ณ€๊ฒฝ๋  ์ˆ˜๋„ ์žˆ์œผ๋‹ˆ ์‚ฌ์šฉ ๋น„๊ถŒ์žฅ. 

์ฃผ๋กœ const๋กœ ์„ ์–ธํ•˜๋ฉฐ, ๋ฐ”๋€” ์ˆ˜ ์žˆ๋Š” ๋ณ€์ˆ˜์˜ ๊ฒฝ์šฐ๋Š” let์œผ๋กœ ์„ ์–ธํ•˜๋„๋ก ํ•˜์ž. var๋Š” X

 

 

#2.4 Booleans

 

boolean : true(์ฐธ), false(๊ฑฐ์ง“) ์„ ๋‚˜ํƒ€๋‚ด๋Š” ํƒ€์ž…

์‚ฌ์šฉ์ž์˜ ๋กœ๊ทธ์ธ ์—ฌ๋ถ€, ๋น„๋””์˜ค์˜ ์žฌ์ƒ ์—ฌ๋ถ€, ์›น์‚ฌ์ดํŠธ์˜ ๋กœ๋”ฉ ์—ฌ๋ถ€, 

cf) "true", "false"๋Š” ๋ฌธ์ž์—ด์ด๋‹ค.

 

undefined : ๋ณ€์ˆ˜๋Š” ์„ ์–ธํ–ˆ์œผ๋‚˜ ๊ฐ’์„ ํ• ๋‹นํ•˜์ง€ ์•Š์Œ

null : ๋ณ€์ˆ˜์— null(๊ฐ’์ด ์—†์Œ)์ด ํ• ๋‹น๋จ. => ์ •์˜๋Š” ๋˜์–ด์žˆ์Œ

 

 

#2.5 Arrays

 

array๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜์—ดํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ, ํ•ญ์ƒ [] ์•ˆ์— ,๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜์—ดํ•œ๋‹ค. array์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋Š” ๋ณ€์ˆ˜, string, number, boolean์€ ๋ฌผ๋ก  null, undefined๊นŒ์ง€ ๋ชจ๋‘ ๊ฐ€๋Šฅํ•˜๋‹ค.

const mon = "mon"
const thu = "thu"
const sun = "sun"

const daysOfWeek = [mon, "tue", "wed", thu, "fri", "sat", sun];
const nonsense = [1, 2, "hello", false, null, true, undefined, "hayeon"]

console.log(daysOfWeek, nonsense);

// Get Item from Array
console.log(daysOfWeek[3]); // 3๋ฒˆ ์ธ๋ฑ์Šค์ด๋ฏ€๋กœ 4๋ฒˆ์งธ ๊ฐ’์ธ thu ์ถœ๋ ฅ

// Add one more day to the array
daysOfWeek.push("yasumi");
console.log(daysOfWeek);

 

const๋Š” ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐ ์™œ push()๋ฅผ ์“ธ ์ˆ˜ ์žˆ๋Š”๊ฑฐ์ง€? ์— ๋Œ€ํ•œ ํ•ด๋‹ต : https://overcome-the-limits.tistory.com/261?category=969104 ์ฐธ๊ณ 

 

์ƒ์ˆ˜๋กœ ์„ ์–ธ๋œ ๋ณ€์ˆ˜์— ๊ฐ’์„ ํ• ๋‹นํ•œ๋‹ค.

=> ๋ณ€์ˆ˜์— ๊ทธ ๊ฐ’์„ ๊ฐ–๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ํ• ๋‹นํ•œ๋‹ค.

=> ๊ทธ ์ฃผ์†Œ๊ฐ€ ๊ฐ–๋Š” ๊ฐ’์ด ๋ฐฐ์—ด์ด ์•„๋‹ˆ๋ผ๋ฉด (number, string, boolean ..),

๊ทธ ๊ฐ’์„ ๊ฐ–๋Š” ๋ณ€์ˆ˜ ์ž์ฒด๋Š” ๊ทธ ๊ฐ’์„ ์ฐธ์กฐํ•ด์˜ค๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ƒ์ˆ˜๋กœ ๊ณ ์ •๋œ๋‹ค.

 

๋ฐฐ์—ด๋กœ ํ• ๋‹น์„ ๋ฐ›์€ ์ƒ์ˆ˜ ๋ณ€์ˆ˜

=> ํ• ๋‹น๋œ ๋ฐฐ์—ด ๊ฐ’์„ ๊ฐ–๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๋ฐ›์•„์™€ ์ฐธ์กฐํ•จ

=> ์ฐธ์กฐํ•˜๋Š” ๋ฐฐ์—ด์˜ ๊ฐ’์„ ์ˆ˜์ •, ์ถ”๊ฐ€, ์ œ๊ฑฐํ•จ

=> ์ฆ‰ ๋ฐฐ์—ด์˜ ์ฃผ์†Œ๋ฅผ ๊ฐ€์ ธ์™€ ์ฐธ์กฐํ•˜๋Š” ์ƒ์ˆ˜ ๋ณ€์ˆ˜(ex. daysOfWeek) ์ž์ฒด์—๋Š” ์˜ํ–ฅ์„ ๋ผ์น˜์ง€ ์•Š์Œ

=> ๋ณ€๊ฒฝ : ๋ฐฐ์—ด์˜ ์ฃผ์†Œ๊ฐ’ ์ฒซ ๋ถ€๋ถ„ (ex. daysOfWeek[0])์˜ ์ฃผ์†Œ๋ฅผ ๊ฐ€์ ธ์˜ค๋ฏ€๋กœ, ์ฃผ์†Œ์—๋Š” ๋ณ€๊ฒฝ์ด ์—†์œผ๋ฏ€๋กœ ์ƒ์ˆ˜ ๋ณ€์ˆ˜์—๋Š” ์˜ํ–ฅ์ด ์—†๋‹ค. 

=> ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ : ๊ทธ ์ดํ›„ ์—ฐ์†๋œ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ์— ๋Œ€ํ•ด ์ ์šฉ๋˜๋Š” ๊ฒƒ์ด๋ฏ€๋กœ ์˜ํ–ฅ์„ ๋ผ์น˜์ง€ ์•Š์Œ

 

const toBuy = ["potato", "tomato", "pizza"];
console.log(toBuy[2]); // pizza

 

 

#2.6 Objects

 

object๋Š” property๋ฅผ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ด์ฃผ๋ฉฐ, { }๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ํŒŒ์ด์ฌ์˜ dictionary, ์ž๋ฐ”์˜ hashMap๊ณผ ๊ฐ™์€ ๊ฐœ๋….

 

const player = {
  name: "hayeon",
  points: 10,
  fat: true,
};

// player์˜ property์— ์ ‘๊ทผํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ• 
console.log(player.name);
console.log(player["name"]);

// object๋ฅผ updateํ•  ์ˆ˜ ์žˆ๋‹ค.
console.log(player);
player.fat = false;
player.points = player.points + 15;
console.log(player);

// object์˜ property๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.
player.lastName = "kim";
console.log(player)

 

player๋ฅผ const๋กœ ์„ ์–ธํ–ˆ๋Š”๋ฐ object์—์„œ๋„ ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ๊ทธ๊ฒƒ์€ const๋กœ ์„ ์–ธํ•œ object(player)๋Š” ์•„์ง๋„ ๋™์ผํ•˜๋ฉฐ, ๊ทธ ์•ˆ์— ์žˆ๋Š” property์˜ ๊ฐ’์ด ๋ณ€๊ฒฝ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— object์—๋Š” ์˜ํ–ฅ์„ ๋ผ์น˜์ง€ ์•Š๋Š” ๊ฒƒ์ด๋‹ค.

const๋กœ ์„ ์–ธ๋œ object๋ฅผ ์ง์ ‘์ ์œผ๋กœ ๋ณ€๊ฒฝ(์˜ˆ๋ฅผ ๋“ค์–ด player = false; ์™€ ๊ฐ™์ด ๋ณ€๊ฒฝํ–ˆ์„ ๋•Œ)ํ–ˆ์„ ๋•Œ๋งŒ ์˜ค๋ฅ˜๊ฐ€ ์ƒ๊ธด๋‹ค.

 

'javascript > ๋ฐ”๋‹๋ผ JS๋กœ ํฌ๋กฌ ์•ฑ ๋งŒ๋“ค๊ธฐ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

DAY 8  (0) 2023.01.03
DAY 5  (0) 2022.12.30
DAY 4  (0) 2022.12.30
DAY 3  (0) 2022.12.28
DAY 1  (0) 2022.12.27