λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
javascriptπŸͺ“/javascript μˆ˜μ—…

JavaScrip 03_λ³€μˆ˜μ™€ μžλ£Œν˜• λ³€ν™˜2

by hyojinny 2022. 10. 12.

λ³€μˆ˜λž€ ?
데이터λ₯Ό λ³΄κ΄€ν•˜λŠ” μš©λ„μ΄λ‹€. (κ°’ μž…λ ₯μ‹œ λ ˜μ— 생성 )

_ 언더바λ₯Ό μ“°λŠ”μ΄μœ ?

μœ λ‹ˆν¬ν•œ 이름이 μ•„λ‹Œ

이미 μ‚¬μš©ν•˜λŠ” ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν• λ•Œ ν™œμš©

 

기쑴에 이미 μžˆλŠ” ν‚€μ›Œλ“œλ₯Ό λ³€μˆ˜λͺ…μœΌλ‘œ μ‚¬μš©ν•  경우 _  λΆ™μ—¬μ€Œ

 

 

var_scrollTop = 100;
console.log(var_scrollTop);

 

 


μ‹λ³„μž 

// 제이쿼리둜 μš”μ†Œμ„ νƒμ‹œ $ λΆ™μ΄λŠ” 경우 있음
var $el = $('#wrap');
console.log($el);

 

μœ„μ˜ μ½”λ“œλ₯Ό μž…λ ₯ν–ˆμ„λ•Œ

μ˜€λΈŒμ νŠΈκ°€ ν˜•μ„±λ¨μ„ μ•Œμˆ˜ μžˆλ‹€.

 

 

 

κ²°λ‘  μ‹λ³„μž κ΅¬λ³„μ‹œ $ 뢙이기 λΉ„μΆ”μ²œ 

var wrap = $('#wrap');
console.log(wrap);
 
 
아이디 μ„ νƒμžλ‘œλ„ 선택이 κ°€λŠ₯ν•˜κΈ° λ•Œλ¬Έμ— 번거둭게 $μ‚¬μš© λΉ„μΆ”

λ³€μˆ˜λͺ…을 μ—¬λŸ¬κ°œ μ‚¬μš©ν• λ•Œ 

μ΄λŸ°μ‹μœΌλ‘œ ν•œμ€„ μ‚¬μš©ν•˜λ©΄ μ„ μ–Έν•œκ±΄μ§€ 이전거인지 뢄별이 어렀움 . 가독성이 떨어짐

var num1 = 1,  num = 2,  num = 3;    (프리티어가 μ €μž₯μ‹œ μžλ™μœΌλ‘œ μ€„λ°”κΏˆμ„ ν•œλ‹€)
 
μ €μž₯ν›„ >
 
var num1 = 1,
  num = 2,
  num = 3;

var λ³€μˆ˜λ₯Ό 각각 λ‹€ μž…λ ₯ν•΄μ€€λ‹€. 

var num1 = 1;
var num2 = 2;
var num3 = 3;
// console.log(num1, num2, num3);
console.log(num1 + '========num1의 κ°’', num2, num3);

μ΄λ ‡κ²Œ 기호 μ‚½μž…μœΌλ‘œ λΆ„λ³„ν•˜κΈ° μ‰½κ²Œ 넣기도함 

그럼 λˆˆμ— λ„κ²Œ μ•„λž˜μ™€ 같이 μ½˜μ†”μ„ ν™•μΈν• μˆ˜ μžˆλ‹€.

 


λ³€μˆ˜ μ΄ˆκΈ°ν™”

// λ³€μˆ˜μ„ μ–Έν›„ μ΄ˆκΈ°ν™”, λ‚˜μ€‘μ— λ“€μ–΄κ°ˆ λ°μ΄ν„°νƒ€μž…μ— 맞게 μ΄ˆκΈ°ν™”ν•΄μ•Όν•¨
// var num0;
var num1 = 0;
var num2 = '';
var num3 = true;
console.log(num1 + '========num1의 κ°’', num2, num3 );
// 예 μŠ€ν¬λ‘€μ„ μ΄ˆκΈ°ν™”λ₯Ό ν•˜κ³  데이터λ₯Ό μž…λ ₯ν•˜κ² λ‹€. ν•˜λ©΄ μ΄ˆκΈ°ν™” λ³€μˆ˜ μž…λ ₯

였λ₯˜κ°€μžˆμ„λ•Œ 

μ°Έμ‘°ν• μˆ˜μ—†λ‹€.

μ°Έμ‘°λ₯Ό ν•  수 μ—†λ‹€λŠ”λœ» 

 

 

var num1 = 0;
var num2 = '';
var num3 = true;
console.log(num1 + '========num1의 κ°’', num2, num3, num0);

μ½œμ†” 뒀에 num0  λ³€μˆ˜κ°€ 미지정이라 μ°Έμ‘° λ˜μ§€ μ•Šμ•˜λ‹€λŠ”λœ» 


λ‹€λ₯Έκ°’ μ—°μ‚° μž¬ν• λ‹Ή 

// κΈ°μ‘΄λ³€μˆ˜κ°’μ— λ‹€λ₯Έκ°’을 μ—°μ‚°ν•˜μ—¬ μž¬ν• λ‹Ή
num1 = num1 + 100;
console.log(num1);

// num1에 0을 λ³€μˆ˜ μ§€μ •ν›„ 숫자 100을 더해라
// μ΄λ•Œ var μ‚¬μš© μ•ˆν•¨. μ•žμ—μ„œ 지정됬기 λ•Œλ¬Έ, λ³€μˆ˜λͺ…λ§Œ μž…λ ₯ν•œλ‹€.

 

μœ„ λ‚΄μš©μ„ κ°„μ†Œν™” ν• λ•Œ

λ³΅ν•©λŒ€μž… μ—°μ‚°μž μ‚¬μš© ( +=  뜻 : λ”ν•΄μ„œ λŒ€μž…ν•˜λΌ )

// num1 = num1 + 100;
// (κ°„μ†Œν™”)λ³΅ν•©λŒ€μž…μ—°μ‚°μž - λ³€μˆ˜μ˜ μ›λž˜κ°’μ— 였λ₯Έμͺ½ 숫자λ₯Ό λ”ν•˜μ—¬ λ‹€μ‹œ λŒ€μž…ν•˜λΌ
num1 += 100;
console.log(num1);

 


μœ„μ˜ μ‘μš©

 

userName에 μ•ˆλ…•μ„ 볡합 λŒ€μž… μ—°μ‚°μœΌλ‘œ μ—°κ²°ν•˜μ‹œμ˜€

var userName = 'ossam';
userName += 'μ•ˆλ…•';
console.log(userName);
 
 

μ¦κ°μ—°μ‚°μž (쁠쁠마마)γ…‹γ…‹ 

1을 λ§Œλ“€λ•Œ 

// μ¦κ°μ—°μ‚°μž (++,--)
// cnt 카운트의 μ•½μž
// 0 에 ++ 1을 λ”ν•˜λΌ
var cnt = 0;
cnt++;
cnt++;
console.log(cnt);

 

 


2λ₯Ό λ§Œλ“€λ•Œ 

 

// μ¦κ°μ—°μ‚°μž (++,--)
// cnt 카운트의 μ•½μž
// 0 에 ++ 1을 λ”ν•˜λΌ

var cnt = 0;
cnt++;
cnt++;
console.log(cnt);

 

// ν›„μœ„μ—°μ‚°μ€ λ©”μ„œλ“œ μ•ˆμ—μ„œ μ‚¬μš©ν•˜λ©΄ 연산이 λ‚˜μ€‘μ— λ˜λ―€λ‘œ κ²°κ³Όκ°€ λ‹€λ₯Όμˆ˜ 있음
console.log(cnt++); 

 
λ§€μ„œλ“œ μ•ˆμ—μ„œ μ—°μ‚°μžλ₯Ό μ“°λŠ”κ±΄ μ’‹μ§€ μ•Šλ‹€. 값이 λ‹€λ₯Ό 수 있음 / 미리 연산을 ν•˜κ³  λ©”μ„œλ“œλ₯Ό μž…λ ₯ν•œλ‹€. 

Prompt( ) ν•¨μˆ˜

 

ν•¨μˆ˜μ‚¬μš©λ²• 풀이

ν•¨μˆ˜μ— (λ©”μ„Έμ§€λ₯Ό 집어놓고 : κ·Έ ν•¨μˆ˜μ— 데이터(문자)λ₯Ό 집어놓고 κ·Έ 리턴값을 ν™œμš©ν•œλ‹€.)

 

window 객체의 ν•¨μˆ˜λž€λœ» prompt 

 message? 처럼 μΈμˆ˜μ— ? 있으면 μ˜΅μ…˜μ„ 넣어도 되고 μ•ˆλ„£μ–΄λ„ λœλ‹€  

γ…£ 뜻이 or 이닀. 

 

 

: λ°˜ν™˜λ˜λŠ” μž…λ ₯값은 srting 문자둜 λ“€μ–΄μ˜¨λ‹€. 

 

string = return λ°˜ν™˜ 

default = 인수λ₯Ό 더 μž…λ ₯ν•  수 μžˆλ‹€. 

 


Prompt( ) ν•¨μˆ˜ μ‚¬μš©μ˜ˆμ œ

 

var userName2 = prompt('이름을 μž…λ ₯ν•˜μ„Έμš”');
console.log(userName2);

 

 

 

 

 

 

 

 

 
var userName2 = prompt('이름을 μž…λ ₯ν•˜μ„Έμš”', 'λ°•νš¨μ§„');
console.log(userName2);

default = 인수λ₯Ό 더 μž…λ ₯μ‹œ , '' μ‚¬μš©

 

 

 

 


Prompt 와  Alert ( ) ν•¨μˆ˜

 

// alert 은 ν”„λ‘œκ·Έλž¨ 싀행이 쀑지 된 (κ²½κ³  쀑지)
var userName2 = prompt('이름을 μž…λ ₯ν•˜μ„Έμš”', 'λ°•νš¨μ§„');
alert(userName2);

// console.log('μ•„λž˜λ‚΄μš©λœ¨μ§€μ•ŠμŒ');

 

 


comfirm ( ) ν•¨μˆ˜

 

 

 

var msg = confirm('μ§„ν–‰ν•˜κ² μŠ΅λ‹ˆκΉŒ?');
console.log(msg);

 

 

 

 

ν™•μΈμ‹œ ture 확인 

 

 

 

 

 


 

if (msg == true) {
  console.log('κ°μ‚¬ν•©λ‹ˆλ‹€.');
} else {
  console.log('μ•„μ‰½λ„€μš” γ… γ… ');
}
 

 

μ·¨μ†Œμ‹œ false  κ°’ 확인 

 

 

 


Number( ) ν•¨μˆ˜

 

 


 

var amount = prompt('μˆ˜λŸ‰μ„ μž…λ ₯ν•˜μ„Έμš”');
amount += 30;
console.log(amount);

 

 

 

 

 

μ΄λ ‡κ²Œ 20 을 μž…λ ₯μ‹œ 20을 문자둜 인식해 

2030 으둜 값이 λ“€μ–΄μ˜¨λ‹€.

 

 

λ•Œλ¬Έμ— ν˜•λ³€ν™˜μ΄ ν•„μš” λ“€μ–΄μ˜€λŠ” μž…λ ₯값을 λ¬Έμžκ°€ μ•„λ‹Œ 숫자둜 μ§€μ •ν•΄μ€„λ•Œ  number

var amount = prompt('μˆ˜λŸ‰μ„ μž…λ ₯ν•˜μ„Έμš”');
amount = Number(amount) + 30;
console.log(amount);
 
 
 
μ΄λ ‡κ²Œ λ“€μ–΄μ˜€λŠ” 값을 숫자둜 μ§€μ •ν•΄ μ€¬μ„λ•Œ 

λ˜‘κ°™μ΄ 20 μž…λ ₯μ‹œ 20+30= 50 의 값이 λ“€μ–΄μ˜€λŠ”κ²ƒμ„ 확인

 


NaN 경우

 

 

 

 

Number ν•¨μˆ˜λŠ” λ¬Έμžκ°€ μ„žμ—¬ 있으면 NaN (μˆ«μžκ°€ μ•„λ‹˜)이뜸
 

해결방법 : amount = parseInt(amount) + 30;   μΆ”κ°€ 

 
// parseInt μˆ«μžλ’€μ— λ¬Έμžμ—΄μ΄ μžˆμ–΄λ„ 숫자둜 λ³€ν™˜μ‹œμΌœμ€Œ

  λ˜‘κ°™μ΄ 20개 μž…λ ₯μ‹œ μžλ™ 50으둜 λ³€ν™˜ 

 


 String ( ) ν•¨μˆ˜

 

// parseInt μˆ«μžλ’€μ— λ¬Έμžμ—΄μ΄ μžˆμ–΄λ„ 숫자둜 λ³€ν™˜μ‹œμΌœμ€Œ

var private = 20001225;
private = String(private);
console.log(typeof private);
 

 

 


μ—°μ‚° μš°μ„ μˆœμœ„

 

 

// μ—°μ‚°μš°μ„ μˆœμœ„ - + 에 λ¬Έμžκ°€ 있으면 λ¬Έμžμš°μ„ , κ·Έμ™Έ 사칙연산은 μˆ«μžμš°μ„ 
 
var test = '100' + 50;
console.log(test);
 
문자둜 μΈμ‹ν•˜λ©΄ 문자둜 λ³€ν™˜
 
 

var test2 = '100' * 50;
console.log(test2);
 
사칙연산은 숫자둜 λ³€ν™˜

 κ³±ν•˜κΈ°λŠ” μˆ«μžλ°–μ— μ•ˆλ˜κ³  κ³±ν•˜κΈ°λŠ” μš°μ„ μˆœμœ„κ°€ λ†’μœΌλ―€λ‘œ μžλ™ 숫자 μ—°μ‚° 

 


μ—°μ‚° μš°μ„ μˆœμœ„λŠ” () μ‚¬μš©

 

// κ΄„ν˜Έ μ—†μœΌλ©΄ 무엇이 μš°μ„ μΈμ§€ 인식을 λͺ»ν•¨
// var test3 = 100 + 20 * 3 / 3.14;
 
이떄 κ΄„ν˜Έλ‘œ μš°μ„ μˆœμœ„λ₯Ό μ§€μ •ν•œλ‹€. 
 
var test3 = (100 + 20 * 3) / 3.14;
console.log(test3);
 

μ œλŒ€λ‘œλœ κ°’ 확인

 

 


 

 

λŒ“κΈ€