Freecodecamp: 'var'λŠ” μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

에 λ§Œλ“  2016λ…„ 08μ›” 13일  Β·  3μ½”λ©˜νŠΈ  Β·  좜처: freeCodeCamp/freeCodeCamp

μ±Œλ¦°μ§€ κΈ€λ‘œλ²Œ λ²”μœ„ 및 κΈ°λŠ₯ 에 λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€.
μ‚¬μš©μž μ—μ΄μ „νŠΈ: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 .
이 문제λ₯Ό μž¬ν˜„ν•˜λŠ” 방법을 μ„€λͺ…ν•˜κ³  κ°€λŠ₯ν•œ 경우 μŠ€ν¬λ¦°μƒ·μ— λŒ€ν•œ 링크λ₯Ό ν¬ν•¨ν•˜μ‹­μ‹œμ˜€.

λ‚΄ μ½”λ“œ:

// Declare your variable here
var myGlobal = 10;

function fun1() {
  // Assign 5 to oopsGlobal Here

}

// Only change code above this line
function fun2() {
  var output = "";
  if (typeof myGlobal != "undefined") {
    output += "myGlobal: " + myGlobal;
  }
  if (typeof oopsGlobal != "undefined") {
    output += " oopsGlobal: " + oopsGlobal;
  }
  console.log(output);
}

es6 let 및 const μ‚¬μš©μ„ μ‹œμž‘ν•΄μ•Ό ν•©λ‹ˆλ‹€. var λ³€μˆ˜ 선언은 잠재적인 λ²„κ·Έμž…λ‹ˆλ‹€.

discussing

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

@BKinahan κΈ€μŽ„μš”.

var λ₯Ό μ‚¬μš©ν•  λ•Œμ™€ μ‚¬μš©ν•˜μ§€ μ•Šμ„ λ•Œ 항상 κ°œλ³„ κ°œλ°œμžμ—κ²Œ 달렀 μžˆλŠ” 것은 μ•„λ‹ˆμ§€λ§Œ λŒ€λΆ€λΆ„μ˜ 경우 νŒ€μ— 따라 λ‹€λ¦…λ‹ˆλ‹€.

var λ₯Ό let λ˜λŠ” const 둜 λ°”κΏ€ 수 μ—†λŠ” 경우λ₯Ό 찾지 λͺ»ν–ˆμ§€λ§Œ OpenTable의 μ—”μ§€λ‹ˆμ–΄λŠ” μ΅œκ·Όμ— μ‚¬μš©ν•˜λ„λ‘ 전체 μ½”λ“œλ² μ΄μŠ€λ₯Ό λ¦¬νŒ©ν† λ§ν•œ 적이 μžˆμŠ΅λ‹ˆλ‹€. ES2015μ—μ„œ let λ˜λŠ” const κ°€ λ²„κ·Έμ˜ 원인이고 var λ₯Ό μ‚¬μš©ν•΄μ•Ό ν•˜λŠ” κ²½μš°κ°€ ν•˜λ‚˜ μžˆλ‹€κ³  μ–ΈκΈ‰ν–ˆμ§€λ§Œ μ •ν™•ν•œ λ‚΄μš©μ„ κΈ°μ–΅ν•  수 μ—†μ—ˆμŠ΅λ‹ˆλ‹€. μ™œ κ·Έλž¬μ–΄.

var κ°€ λ‚™λ‹΄ν•  ν•„μš”λŠ” μ—†λ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. var μž‘λ™ν•˜λŠ” 방식을 μ„€λͺ…ν•˜κ³  κ°œλ°œμžκ°€ κΉ¨λ‹¬μŒμ„ ν–₯ν•œ 여정을 계속 μ§„ν–‰ν•˜λ©΄ μ„ νƒν•˜κ²Œ ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

let 및 const μ—λŠ” λͺ‡ 가지 μ΄μƒν•œ 점이 μžˆμŠ΅λ‹ˆλ‹€. 이λ₯Ό μΈμ‹ν•˜μ§€ λͺ»ν•˜λ©΄ 일뢀 루프λ₯Ό 톡해 톡과할 수 μžˆμŠ΅λ‹ˆλ‹€( μ‹œκ°„μ  사각 μ§€λŒ€ μ°Έμ‘°). 이것은 μ„±κ°€μ‹  μΌμ΄μ§€λ§Œ let 및 const μ‚¬μš©μ— λŒ€ν•œ μžκ²©μ„ λ°•νƒˆν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 그것은 단지 무언가λ₯Ό μ•Œμ•„κ°€λŠ” κ²ƒλ§ŒνΌ μ€‘μš”ν•œ 것을 grokkingν•œλ‹€λŠ” 것을 μ˜λ―Έν•©λ‹ˆλ‹€.

λͺ¨λ“  3 λŒ“κΈ€

let 및 const λ₯Ό ν¬ν•¨ν•œ ES6 κΈ°λŠ₯은 ν˜„μž¬ 개발 쀑인 μƒˆλ‘œμš΄ 컀리큘럼 μ£Όμ œμ—μ„œ μžμ„Ένžˆ λ‹€λ£° κ²ƒμž…λ‹ˆλ‹€( μ—¬κΈ° μ°Έμ‘°). μ΄λŸ¬ν•œ λ¬Έμ œλŠ” var μ‚¬μš©ν•  λ•Œ λ²”μœ„ 지정/ν˜Έμ΄μŠ€νŒ…μœΌλ‘œ 인해 λ°œμƒν•  수 μžˆλŠ” λ¬Έμ œλ„ ν•΄κ²°ν•©λ‹ˆλ‹€.

ν˜„μž¬ 이 μ±Œλ¦°μ§€λŠ” var κ°€ μ‚¬μš©λ  λ•Œ λ²”μœ„ 지정 및 μ£Όμ˜ν•΄μ•Ό ν•  λͺ‡ 가지 λ¬Έμ œμ— λŒ€ν•œ μ†Œκ°œ 역할을 ν•˜λ©° 캠퍼가 var (예: λ ˆκ±°μ‹œ μ½”λ“œ λ“±)λ₯Ό μ‚¬μš©ν•˜μ—¬ λ…Όμ˜λœ λ¬Έμ œμ— λŒ€ν•œ μœ μš©ν•œ μ†Œκ°œμž…λ‹ˆλ‹€.

쀄 μ œκ±°μ— λŒ€ν•œ λ…ΌμŸμ΄ μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

항상 var둜 λ³€μˆ˜λ₯Ό μ„ μ–Έν•΄μ•Ό ν•©λ‹ˆλ‹€.

λ˜λŠ” λ‚˜μ€‘μ— let 및 const 에 λŒ€ν•΄ λ°°μš°λŠ” 것과 κ΄€λ ¨ν•˜μ—¬ μ•½κ°„μ˜ 경고둜 λ³€κ²½ν•˜μ§€λ§Œ 이 λ¬Έμ œλŠ” ν•΄λ‹Ή 주제λ₯Ό 처음 μ†Œκ°œν•˜λŠ” 데 μ ν•©ν•˜λ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

cc @FreeCodeCamp/issue-moderators 생각?

@BKinahan κΈ€μŽ„μš”.

var λ₯Ό μ‚¬μš©ν•  λ•Œμ™€ μ‚¬μš©ν•˜μ§€ μ•Šμ„ λ•Œ 항상 κ°œλ³„ κ°œλ°œμžμ—κ²Œ 달렀 μžˆλŠ” 것은 μ•„λ‹ˆμ§€λ§Œ λŒ€λΆ€λΆ„μ˜ 경우 νŒ€μ— 따라 λ‹€λ¦…λ‹ˆλ‹€.

var λ₯Ό let λ˜λŠ” const 둜 λ°”κΏ€ 수 μ—†λŠ” 경우λ₯Ό 찾지 λͺ»ν–ˆμ§€λ§Œ OpenTable의 μ—”μ§€λ‹ˆμ–΄λŠ” μ΅œκ·Όμ— μ‚¬μš©ν•˜λ„λ‘ 전체 μ½”λ“œλ² μ΄μŠ€λ₯Ό λ¦¬νŒ©ν† λ§ν•œ 적이 μžˆμŠ΅λ‹ˆλ‹€. ES2015μ—μ„œ let λ˜λŠ” const κ°€ λ²„κ·Έμ˜ 원인이고 var λ₯Ό μ‚¬μš©ν•΄μ•Ό ν•˜λŠ” κ²½μš°κ°€ ν•˜λ‚˜ μžˆλ‹€κ³  μ–ΈκΈ‰ν–ˆμ§€λ§Œ μ •ν™•ν•œ λ‚΄μš©μ„ κΈ°μ–΅ν•  수 μ—†μ—ˆμŠ΅λ‹ˆλ‹€. μ™œ κ·Έλž¬μ–΄.

var κ°€ λ‚™λ‹΄ν•  ν•„μš”λŠ” μ—†λ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. var μž‘λ™ν•˜λŠ” 방식을 μ„€λͺ…ν•˜κ³  κ°œλ°œμžκ°€ κΉ¨λ‹¬μŒμ„ ν–₯ν•œ 여정을 계속 μ§„ν–‰ν•˜λ©΄ μ„ νƒν•˜κ²Œ ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

let 및 const μ—λŠ” λͺ‡ 가지 μ΄μƒν•œ 점이 μžˆμŠ΅λ‹ˆλ‹€. 이λ₯Ό μΈμ‹ν•˜μ§€ λͺ»ν•˜λ©΄ 일뢀 루프λ₯Ό 톡해 톡과할 수 μžˆμŠ΅λ‹ˆλ‹€( μ‹œκ°„μ  사각 μ§€λŒ€ μ°Έμ‘°). 이것은 μ„±κ°€μ‹  μΌμ΄μ§€λ§Œ let 및 const μ‚¬μš©μ— λŒ€ν•œ μžκ²©μ„ λ°•νƒˆν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 그것은 단지 무언가λ₯Ό μ•Œμ•„κ°€λŠ” κ²ƒλ§ŒνΌ μ€‘μš”ν•œ 것을 grokkingν•œλ‹€λŠ” 것을 μ˜λ―Έν•©λ‹ˆλ‹€.

μž…λ ₯ν•΄ μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€. λ‘˜ λ‹€ 쒋은 μ μž…λ‹ˆλ‹€. λ‚˜λŠ” 이것이 λͺ¨λ‘ 의견 기반이라고 μƒκ°ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ λ‚˜λŠ” λ‚΄ 말을 κ³ μˆ˜ν•˜κ³  λΆˆλ³€ 데이터λ₯Ό μ‚¬μš©ν•˜λ„λ‘ μ„€κ΅ν•˜κ³  immutable.js λ˜λŠ” mori와 같은 라이브러리λ₯Ό μ‚¬μš©ν•˜μ—¬ 예기치 μ•Šμ€ 데이터 λŒμ—°λ³€μ΄λ₯Ό λ°©μ§€ν•©λ‹ˆλ‹€. ✌️

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰