그렇게 기승을 부리던 한 여름 깡패 더위가 언제였냐는 듯 선선한 가을이 왔습니다. 가을하면 떠오르는 대표적인 먹거리인 밤이 생각나네요. 어릴적 낡은 신발을 찌르던 날카로운 밤 가시가 선사한 뜨금함이 지금도 선합니다. 그래도 주머니 속에 가득한 알밤은 가을이 주는 선물이었던 시간이었습니다. 

더글라스 크락포드

더글라스 크락포드(Douglas Crockford)는 자바스크립트 개발에 참여한 미국의 컴퓨터 프로그래머이자 기업가이다. 오늘날 핵심 데이터 포맷으로 자리잡은 JSON을 설계하였으며 JSLint, JSMin 등 다양한 자바스크립트 관련 도구들을 개발하였다. 노년이지만 여전히 자바스크립트, JSON, 그리고 관련 웹 기술의 작가, 연설가로 활동하고 있다. 그리고 오래전이지만 자바스크립트 개발자의 필독서(?)인 (국내 출판 제목) '더글라스 크락포드의 자바스크립트 핵심 가이드'의 저자이기도 하다. 

그가 유독 관심을 받았던 이유는 자바스크립트에 대한 남다른 관점 때문이다. 데브딕은 더글라스 크락포드에 대한 이야기를 1, 2부로 나누어서 준비해 보았다. 1부는 그의 삶에 대한 이야기와 2부는 그가 말하는 자바스크립트 이야기로 구성되었다.

새 if() 함수를 사용한 CSS 조건문

if() 함수는 새롭게 사양에 포함된 표기법 함수(notation function)이다. CSS 속성 값을 조건식에 따라 적용할 수 있게 되었다. 자바스크립트의 if 조건문과 유사하다. 아직은 초기이기에 모든 웹브라우저가 지원하지 않지만 Chrome은 버전 137부터 if() 함수를 사용하여 CSS 인라인 조건문을 사용해 볼 수 있다. if() 함수는 스타일 쿼리 및 미디어 쿼리와 같은 동적 스타일을 위한 직관적인 개발자 인터페이스를 제공한다. 쉽게 말해 프로그래밍 개념이 적용된 스타일 코드를 작성할 수 있게 되었다. 앞으로 관심을 갖고 기대해 볼 수 있는 함수이다.

CSS attr() 업그레이드

지금까지의 CSS attr() 표기법 함수(notation function)는 HTML 요소의 애트리뷰트 이름으로 문자열 값을 가져와 사용하였다. 그리고 가상 요소의 content 속성에서만 사용이 가능했고 CSS로만 파싱할 수 있었다. 새 사양에서는 업데이트 되어진 attr() 함수를 만날 수 있게 되었다. 새 사양에서는 attr() 함수에 파싱될 데이터의 CSS 타입을 지정해 다양한 속성에서 attr() 함수가 반환해 준 값을 사용할 수 있다. HTM 요소의 애트리뷰트를 동작으로 조작해 CSS 속성에 반영할 수 있으므로 자바스크립트 뿐만 아니라 서버측 스크립트로 HTML 요소를 조작하여 유동적인 CSS 속성을 반영할 수 있게 되었다. 아직은 모든 웹브라우저가 지원하지 않지만 최근 크롬 133 버전부터는 새롭게 설계된 attr() 함수의 확장된 기능을 사용할 수 있다.