// 수치값을 기준으로 수정var voteChanged(oldVote, newVote) {var score =getScore(); score -=getVoteValue(oldVote) // 이전 값 제거 score +=getVoteValue(newVote);setScore(score);}
객체에서 값 추출하기
var location_info = { LocalityName:"", SubAdministrativeAreaName:"", AdministrativeAreaName:"", CountryName:""}
목표 값은 LocalityName + ", " + CountryName
LocalityName이 없으면 SubAdministrativeAreaName, SubAdministrativeAreaName도 없으면 AdministrativeAreaName로 대체한다고 가정
var place = location_info["LocalityName"];if (!place) { place = location_info["SubAdministrativeAreaName"];}if (!place) { place = location_info["AdministrativeAreaName"];}if (!place) { place ="Middle-of-Nowhere";}if (location_info["CountryName"]) { place +=", "+ location_info["CountryName"];} else { place +=", Planet Earth";}
그런데 만약에 미국일 때만 CountryName 대신에 AdministrativeAreaName를 써야한다면?
작업 목록 1. location_info 객체에서 값을 읽어 저장하기. 2. '도시'의 값을 정하기 위해서 정해진 순서대로 탐색. 모두 비어있다면 '아무 곳도 아닌 곳'이라는 기본값을 입력 3. '나라' 값을 정함. 비어있다면 '지구'로 설정 4. place 변경
// 필요한 값들의 저장var town =locationInfo.LocalityName;var city =locationInfo.SubAdministrativeAreaName;var state =locationInfo.AdministrativeAreaName;var country =locationInfo.CountryName;// '도시' 값 설정// 기본값에서 시작하여 더 자세한 값으로 파고들어라var firstHarf ="Middle-of-Nowhere";if (state && country !=="USA") { firstHarf = state;}if (city) { firstHarf = city;}if (town) { firstHarf = town;}// '나라' 값 설정var secondHarf ="Planet Earth";if (country) { secondHarf = country;}if (state && country ==="USA") { secondHarf = state;}return firstHarf +", "+ secondHarf;