[ES6] Function Params
1. Default Value of function param:
The function displayTopicsPreview()
raises an error on the very first line when called with no arguments. Let's fix that!
function displayTopicsPreview( topics ){ var message = "There are currently " + topics.length; _displayPreviewMessage(topics, message); } ----------------- function displayTopicsPreview( topics = [] ){ let message = "There are currently " + topics.length; _displayPreviewMessage(topics, message); }
2. Complete the setPageThread()
function signature with the missing named parameters. You can check out the body of the function to help discover what options are expected.
function setPageThread(name, ){ let nameElement = _buildNameElement(name); let settings = _parseSettings(popular, expires, activeClass); _updateThreadElement(nameElement, settings); } ------------------- function setPageThread(name, {popular, expires, activeClass}){ let nameElement = _buildNameElement(name); let settings = _parseSettings(popular, expires, activeClass); _updateThreadElement(nameElement, settings); }
3. Let's refactor the loadProfiles()
function to use named parameters with default values.
function loadProfiles(userNames = [], options = {}) { let profilesClass = options.profilesClass || ".user-profile"; let reverseSort = options.reverseSort || false; if (reverseSort) { userNames = _reverse(userNames); } _loadProfilesToSideBar(userNames, profilesClass); } ------------------------------ function loadProfiles(userNames = [], {profilesClass, reverseSort} = {}) { profilesClass = profilesClass || ".user-profile"; reverseSort = reverseSort || false; if (reverseSort) { userNames = _reverse(userNames); } _loadProfilesToSideBar(userNames, profilesClass); }
function setPageThread(name, {popular, expires, activeClass} = {}){ // ... } setPageThread("ES2015", { popular: true }); //won't cause error
Important to take away from here is
- Instead of giving options = {} in the function param, we give {profileClass, reserseSort} = {}
- First it is more clear to see what "options" it is
- Second we assign default param here.
分类:
ES6
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2015-01-02 [MEAN Stack] First API -- 7. Using Route Files to Structure Server Side API
2015-01-02 [MEAN Stack] First API -- 6. Using Express route instance
2015-01-02 [ES6] 19. for ... of
2015-01-02 [ES6] 18. Map
2015-01-02 [ES6] 17. Set