
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
서울시 OpenAPI(실시간 미세먼지 상태) fetch 코드 중
수치가 40이 넘는 경우에만 빨간색으로 글씨 색깔을 변경하는 코드(head>script) 부분에서
아래와 같이 코드를 짰는데 에러가 발생했습니다.
function q1() {
fetch("http://spartacodingclub.shop/sparta_api/seoulair").then(res => res.json()).then(data => {
let rows = data['RealtimeCityAir']['row']
$('#names-q1').empty()
rows.forEach((a) => {
let gu_name = a['MSRSTE_NM']
let gu_mise = a['IDEX_MVL']
if (gu_mise > 40) {
let temp_html = `<li class = 'bad'>${gu_name} : ${gu_mise}</li>`
} else {
let temp_html = `<li>${gu_name} : ${gu_mise}</li>`
}
$('#names-q1').append(temp_html)
})
})
}
위 코드에서 temp_html 앞에 let으로 변수를 정의하는 방식으로는 왜 안되고 아래와 같은 식으로만 코드를 짜야 하는지 궁금합니다.
function q1() {
fetch("http://spartacodingclub.shop/sparta_api/seoulair").then(res => res.json()).then(data => {
let rows = data['RealtimeCityAir']['row']
$('#names-q1').empty()
rows.forEach((a) => {
let gu_name = a['MSRSTE_NM']
let gu_mise = a['IDEX_MVL']
let temp_html = ``
if (gu_mise > 40) {
temp_html = `<li class = 'bad'>${gu_name} : ${gu_mise}</li>`
} else {
temp_html = `<li>${gu_name} : ${gu_mise}</li>`
}
$('#names-q1').append(temp_html)
})
})
}
심지어 위 코드에서 let temp_html = `` 이 부분이 없이도 코드가 제대로 작동하는 것으로 확인했는데,
if문 전에 temp_html이라는 변수를 정의하지 않고도 작동하는 원리가 무엇인지도 궁금합니다.
